3 add_definitions(/fp:precise)
6 # set compiler short name and choose SSE2 option for appropriate MSVC compilers
8 if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
9 if (MSVC80 OR MSVC90 OR MSVC10)
10 add_definitions(/arch:SSE2)
14 add_definitions (-DCSFDB)
16 add_definitions (/DWNT -wd4996)
18 add_definitions (-fexceptions -fPIC -DOCC_CONVERT_SIGNALS -DHAVE_WOK_CONFIG_H -DHAVE_CONFIG_H)
20 add_definitions (-fexceptions -fPIC -DOCC_CONVERT_SIGNALS -DHAVE_WOK_CONFIG_H -DHAVE_CONFIG_H -DLIN)
23 # enable structured exceptions for MSVC
24 string (REGEX MATCH "EHsc" ISFLAG "${CMAKE_CXX_FLAGS}")
26 string (REGEX REPLACE "EHsc" "EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
28 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -EHa")
31 # remove DEBUG flag if it exists
32 string (REGEX MATCH "-DDEBUG" IS_DEBUG_CXX "${CMAKE_CXX_FLAGS_DEBUG}")
34 message (STATUS "-DDEBUG has been removed from CMAKE_CXX_FLAGS_DEBUG")
35 string (REGEX REPLACE "-DDEBUG" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
38 string (REGEX MATCH "-DDEBUG" IS_DEBUG_C "${CMAKE_C_FLAGS_DEBUG}")
40 message (STATUS "-DDEBUG has been removed from CMAKE_C_FLAGS_DEBUG")
41 string (REGEX REPLACE "-DDEBUG" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
44 # enable parallel compilation on MSVC 9 and above
45 if (MSVC AND NOT MSVC70 AND NOT MSVC80)
46 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP")
49 # generate a single response file which enlist all of the object files
50 SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
51 SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
53 # increase compiler warnings level (-W4 for MSVC, -Wall for GCC)
55 if (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
56 string (REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
58 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
60 elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
61 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
64 set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
65 set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
67 set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEB")
68 set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEB")