Output configured version.h to source tree
[dyninst.git] / cmake / optimization.cmake
1 if (CMAKE_COMPILER_IS_GNUCXX 
2     OR  "${CMAKE_C_COMPILER_ID}" MATCHES Clang 
3     OR "${CMAKE_C_COMPILER_ID}" MATCHES GNU
4     OR "${CMAKE_C_COMPILER_ID}" MATCHES Intel)
5 set (CMAKE_C_FLAGS_DEBUG "-O0 -g")
6 set (CMAKE_C_FLAGS_RELEASE "-O2")
7 set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
8 set (CMAKE_CXX_FLAGS_RELEASE "-O2")
9 set (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
10 set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
11 set (FORCE_FRAME_POINTER "-fno-omit-frame-pointer")
12 # Ensure each library is fully linked
13 set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
14 else (MSVC)
15 set (CMAKE_C_FLAGS_DEBUG "/Od /Zi /MDd /D_DEBUG")
16 set (CMAKE_C_FLAGS_RELEASE "/O2 /MD /D NDEBUG")
17 set (CMAKE_CXX_FLAGS_DEBUG "/Od /Zi /MDd /D_DEBUG")
18 set (CMAKE_CXX_FLAGS_RELEASE "/O2 /MD /D NDEBUG")
19 set (CMAKE_C_FLAGS_RELWITHDEBINFO "/O2 /Zi /MD /D NDEBUG")
20 set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/O2 /Zi /MD /D NDEBUG")
21 set (FORCE_FRAME_POINTER "/Oy-")
22 endif()
23 message(STATUS "Set optimization flags")