mirror of
https://github.com/reactos/reactos.git
synced 2025-06-25 05:29:42 +00:00
[CMAKE]
Add an option to compile with PREFAST enabled, when using MSVC svn path=/trunk/; revision=54841
This commit is contained in:
parent
8266c38acf
commit
5a729992d7
2 changed files with 13 additions and 2 deletions
|
@ -55,3 +55,8 @@ set(BUILD_MP TRUE CACHE BOOL
|
||||||
|
|
||||||
set(GENERATE_DEPENDENCY_GRAPH FALSE CACHE BOOL
|
set(GENERATE_DEPENDENCY_GRAPH FALSE CACHE BOOL
|
||||||
"Whether to create a graphml dependency of dlls.")
|
"Whether to create a graphml dependency of dlls.")
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
set(_PREFAST_ FALSE CACHE BOOL
|
||||||
|
"Whether to enable PREFAST while compiling.")
|
||||||
|
endif()
|
||||||
|
|
|
@ -43,15 +43,21 @@ if(MSVC_IDE)
|
||||||
# We may temporarily use just the global defines, but this is not a solution as some modules (minihal for example) apply additional definitions to source files, so we get an incorrect build of such targets.
|
# We may temporarily use just the global defines, but this is not a solution as some modules (minihal for example) apply additional definitions to source files, so we get an incorrect build of such targets.
|
||||||
get_directory_property(definitions DEFINITIONS)
|
get_directory_property(definitions DEFINITIONS)
|
||||||
set(CMAKE_ASM_COMPILE_OBJECT
|
set(CMAKE_ASM_COMPILE_OBJECT
|
||||||
"<CMAKE_C_COMPILER> /nologo /X /I${REACTOS_SOURCE_DIR}/include/asm /I${REACTOS_BINARY_DIR}/include/asm <FLAGS> ${definitions} /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
"cl /nologo /X /I${REACTOS_SOURCE_DIR}/include/asm /I${REACTOS_BINARY_DIR}/include/asm <FLAGS> ${definitions} /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
||||||
"<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
|
"<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
|
||||||
else()
|
else()
|
||||||
# NMake Makefiles
|
# NMake Makefiles
|
||||||
set(CMAKE_ASM_COMPILE_OBJECT
|
set(CMAKE_ASM_COMPILE_OBJECT
|
||||||
"<CMAKE_C_COMPILER> /nologo /X /I${REACTOS_SOURCE_DIR}/include/asm /I${REACTOS_BINARY_DIR}/include/asm <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
"cl /nologo /X /I${REACTOS_SOURCE_DIR}/include/asm /I${REACTOS_BINARY_DIR}/include/asm <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
||||||
"<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
|
"<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(_PREFAST_)
|
||||||
|
message("PREFAST enabled!")
|
||||||
|
set(CMAKE_C_COMPILER "prefast cl")
|
||||||
|
set(CMAKE_CXX_COMPILER "prefast cl")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_RC_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
set(CMAKE_RC_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||||
set(CMAKE_ASM_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
set(CMAKE_ASM_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||||
set(CMAKE_ASM_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
|
set(CMAKE_ASM_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue