@@ -8,6 +8,17 @@ set(RESOURCES)
88include_directories ("${CMAKE_BINARY_DIR} /../../" )
99
1010if (WIN32 )
11+ # Clobber and reset the default C and CXX flags because
12+ # CMake uses /ZI (Edit and Continue) for generating pdbs
13+ # which is incompatible with the /guard:cf flag we set below
14+ # for security. So we use the default flags set by CMake
15+ # and reset /ZI with /Zi
16+ message ("CMAKE_C_FLAGS_DEBUG is ${CMAKE_C_FLAGS_DEBUG} " )
17+ message ("CMAKE_CXX_FLAGS_DEBUG is ${CMAKE_CXX_FLAGS_DEBUG} " )
18+ message ("In a future version, If the default compiler flags no longer contain the /ZI flag, delete this message block and the two lines below." )
19+ set (CMAKE_C_FLAGS_DEBUG "/MDd /Zi /Ob0 /Od /RTC1 /JMC" )
20+ set (CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Ob0 /Od /RTC1 /JMC" )
21+
1122 add_definitions (-DWIN32)
1223 add_definitions (-D_WIN32=1)
1324 add_definitions (-DUNICODE -D_UNICODE)
@@ -22,7 +33,7 @@ if(WIN32)
2233 add_compile_options ($<$<CONFIG:Release>:/MT>)
2334 add_compile_options ($<$<CONFIG:RelWithDebInfo>:/MT>)
2435 add_compile_options (/guard:cf)
25- add_compile_options (/d2Zi+ ) # make optimized builds debugging easier
36+ add_compile_options (/Zo ) # make optimized builds debugging easier. /Zo is the newer documented flag.
2637 add_compile_options (/nologo) # Suppress Startup Banner
2738 add_compile_options (/W3) # set warning level to 3
2839 add_compile_options (/WX) # treat warnings as errors
0 commit comments