diff options
author | click <none@none> | 2010-09-20 20:58:57 +0200 |
---|---|---|
committer | click <none@none> | 2010-09-20 20:58:57 +0200 |
commit | f69c252f1dacd7c985eb7ce1a360384690fcb2dd (patch) | |
tree | 035b6a27bf9ff040a4f53b021b984adee3435b6b /cmake/compiler/msvc/settings.cmake | |
parent | ce2d4e9a20608f69c29a31d4bdf28bb0142b3fbb (diff) |
Buildsystem/Compilers: Adjust buildfiles slightly:
- Set SSE2 compile-flags only when used on 32-bit platforms (only used on x86 platforms, as x64 / Itanium has this as a standard)
- Clean up/merge some of the 64-bit/32-bit compiler options
- Clean up use of the PLATFORM variable (now sets PLATFORM 32 or PLATFORM 64, shaving off the CMAKE_SIZEOF_VOID_P test slightly)
--HG--
branch : trunk
Diffstat (limited to 'cmake/compiler/msvc/settings.cmake')
-rw-r--r-- | cmake/compiler/msvc/settings.cmake | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake index 4604e285964..89841d87a7b 100644 --- a/cmake/compiler/msvc/settings.cmake +++ b/cmake/compiler/msvc/settings.cmake @@ -5,19 +5,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -# mark 32 bit executables large address aware so they can use > 2GB address space -if(CMAKE_SIZEOF_VOID_P MATCHES 4) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") - message(STATUS "- MSVC: Enabled large address awareness") -endif() - -# multithreaded compiling on VS -if((NOT USE_COREPCH) AND (NOT USE_SCRIPTPCH)) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") - message(STATUS "- MSVC: PCH not used - enabled multithreaded compiling") -endif() - -if(${PLATFORM} STREQUAL "X64") +if(PLATFORM EQUAL 64) # This definition is necessary to work around a bug with Intellisense described # here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper # debugger functionality. @@ -27,6 +15,22 @@ if(${PLATFORM} STREQUAL "X64") #Enable extended object support for debug compiles on X64 (not required on X86) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj") message(STATUS "- MSVC: Enabled extended object-support for debug-compiles") +else() + # mark 32 bit executables large address aware so they can use > 2GB address space + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") + message(STATUS "- MSVC: Enabled large address awareness") + + # Test if we need SSE2-support + if(USE_SFMT) + add_definitions(/arch:SSE2) + message(STATUS "- MSVC: Enabled SSE2 support") + endif() +endif() + +# multithreaded compiling on VS +if((NOT USE_COREPCH) AND (NOT USE_SCRIPTPCH)) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") + message(STATUS "- MSVC: PCH not used - enabled multithreaded compiling") endif() # Define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES - eliminates the warning by changing the strcpy call to strcpy_s, which prevents buffer overruns |