Merge branch 'release9.2/fixes/make-install-fix' into release9.2/fixes/jenkins-fix
[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 "/MP /Od /Zi /MDd /D_DEBUG")
16 set (CMAKE_C_FLAGS_RELEASE "/MP /O2 /MD /D NDEBUG")
17 set (CMAKE_CXX_FLAGS_DEBUG "/MP /Od /Zi /MDd /D_DEBUG")
18 set (CMAKE_CXX_FLAGS_RELEASE "/MP /O2 /MD /D NDEBUG")
19 set (CMAKE_C_FLAGS_RELWITHDEBINFO "/MP /O2 /Zi /MD /D NDEBUG")
20 set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MP /O2 /Zi /MD /D NDEBUG")
21 set (FORCE_FRAME_POINTER "/Oy-")
22 endif()
23 message(STATUS "Set optimization flags")