set(SCRIPT_EXT sh)
endif()
+# set compiler short name and choose SSE2 option for appropriate MSVC compilers
if (DEFINED MSVC70)
SET(COMPILER vc7)
elseif (DEFINED MSVC80)
SET(COMPILER vc8)
+ if (${COMPILER_BITNESS} STREQUAL 32)
+ add_definitions(/arch:SSE2)
+ endif()
elseif (DEFINED MSVC90)
SET(COMPILER vc9)
+ if (${COMPILER_BITNESS} STREQUAL 32)
+ add_definitions(/arch:SSE2)
+ endif()
elseif (DEFINED MSVC10)
SET(COMPILER vc10)
+ if (${COMPILER_BITNESS} STREQUAL 32)
+ add_definitions(/arch:SSE2)
+ endif()
elseif (DEFINED MSVC11)
SET(COMPILER vc11)
else()
add_definitions(-fexceptions -fPIC -DOCC_CONVERT_SIGNALS -DHAVE_WOK_CONFIG_H -DHAVE_CONFIG_H -DLIN)
endif()
+# enable structured exceptions for MSVC
string(REGEX MATCH "EHsc" ISFLAG "${CMAKE_CXX_FLAGS}")
IF(ISFLAG)
STRING(REGEX REPLACE "EHsc" "EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -EHa")
ENDIF()
+# enable parallel compilation on MSVC 9 and above
IF(WIN32)
IF(NOT DEFINED MSVC70 AND NOT DEFINED MSVC80)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP")
ENDIF()
ENDIF()
-# sse2
-add_definitions(/arch:SSE2)
-
-# warning level 4
+# increase compiler warnings level (-W4 for MSVC, -Wall for GCC)
IF(MSVC)
if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")