mirror of
https://github.com/reactos/reactos.git
synced 2025-07-24 13:43:42 +00:00
[CMAKE/MSVC]
* Improve the way we set the debugging flags for debug and release build types. * Don't generate debug info when we're in prefast mode and don't prefix with prefast when linking executables. * We don't need to alter the c/c++ compiler variables in prefast mode anymore. svn path=/trunk/; revision=54962
This commit is contained in:
parent
9cc4152eb3
commit
17801390f6
2 changed files with 18 additions and 10 deletions
|
@ -213,15 +213,15 @@ endif()
|
|||
#SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_C_LINK_EXECUTABLE}")
|
||||
|
||||
SET(CMAKE_BUILD_TYPE_INIT Debug)
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG_INIT "/Zi /Ob0 /Od")
|
||||
SET(CMAKE_C_FLAGS_DEBUG_INIT "/Zi /Ob0 /Od")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG_INIT "")
|
||||
SET(CMAKE_C_FLAGS_DEBUG_INIT "")
|
||||
SET(CMAKE_CXX_FLAGS_INIT "")
|
||||
SET(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/O1 /Ob1 /D NDEBUG")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE_INIT "/O2 /Ob2 /D NDEBUG")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE_INIT "")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/Zi /O2 /Ob1")
|
||||
SET(CMAKE_C_FLAGS_INIT "")
|
||||
SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "/O1 /Ob1 /D NDEBUG")
|
||||
SET(CMAKE_C_FLAGS_RELEASE_INIT "/O2 /Ob2 /D NDEBUG")
|
||||
SET(CMAKE_C_FLAGS_RELEASE_INIT "")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/Zi /O2 /Ob1")
|
||||
SET(CMAKE_C_STANDARD_LIBRARIES_INIT "")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT}")
|
||||
|
|
|
@ -21,6 +21,16 @@ add_definitions(/Dinline=__inline /D__STDC__=1)
|
|||
|
||||
add_compile_flags("/X /GR- /GS- /Zl /W3")
|
||||
|
||||
# Debugging
|
||||
if(${CMAKE_BUILD_TYPE} MATCHES Debug)
|
||||
if(NOT _PREFAST_)
|
||||
add_compile_flags("/Zi")
|
||||
endif()
|
||||
add_compile_flags("/Ob0 /Od")
|
||||
elseif(${CMAKE_BUILD_TYPE} MATCHES Release)
|
||||
add_compile_flags("/Ob2 /D NDEBUG")
|
||||
endif()
|
||||
|
||||
if(${_MACHINE_ARCH_FLAG} MATCHES X86)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB /RELEASE")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB /RELEASE")
|
||||
|
@ -54,16 +64,14 @@ endif()
|
|||
|
||||
if(_PREFAST_)
|
||||
message("PREFAST enabled!")
|
||||
set(CMAKE_C_COMPILER "prefast cl")
|
||||
set(CMAKE_CXX_COMPILER "prefast cl")
|
||||
set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE>${CMAKE_END_TEMP_FILE}"
|
||||
set(CMAKE_C_COMPILE_OBJECT "prefast cl ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /Fo<OBJECT> -c <SOURCE>${CMAKE_END_TEMP_FILE}"
|
||||
"prefast LIST")
|
||||
set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /TP /Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE>${CMAKE_END_TEMP_FILE}"
|
||||
set(CMAKE_CXX_COMPILE_OBJECT "prefast cl ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /TP /Fo<OBJECT> -c <SOURCE>${CMAKE_END_TEMP_FILE}"
|
||||
"prefast LIST")
|
||||
set(CMAKE_C_LINK_EXECUTABLE
|
||||
"cl ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
||||
"cl ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> -link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE
|
||||
"cl ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
||||
"cl ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> -link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_RC_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue