summaryrefslogtreecommitdiff
path: root/indra/cmake/00-Common.cmake
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2014-12-11 12:13:07 -0500
committerNat Goodspeed <nat@lindenlab.com>2014-12-11 12:13:07 -0500
commitc56036a8cb759bc4ea911e8849ceec687c8545be (patch)
treed5e701329c65d13dae34972cdb6aabfa3063870d /indra/cmake/00-Common.cmake
parent34009fc88f5797b9366d31984fc1bcf48c4d04bd (diff)
Add /SAFESEH:NO /NODEFAULTLIB:LIBCMT to viewer linker switches.
zlib cannot be linked with SAFESEH, which is the VS 2013 default, so every consumer must set /SAFESEH:NO. /NODEFAULTLIB:LIBCMT seems to eliminate many duplicate-symbol link errors.
Diffstat (limited to 'indra/cmake/00-Common.cmake')
-rwxr-xr-xindra/cmake/00-Common.cmake3
1 files changed, 2 insertions, 1 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index d2faa2d8c5..ec076837f4 100755
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -54,7 +54,8 @@ if (WINDOWS)
set(CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
CACHE STRING "C++ compiler release options" FORCE)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
+ # zlib has assembly-language object files incompatible with SAFESEH
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT")
set(CMAKE_CXX_STANDARD_LIBRARIES "")
set(CMAKE_C_STANDARD_LIBRARIES "")