From c01c49d33f28adb2f516dff10afcfc52073ed5b6 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Wed, 31 Jan 2018 09:40:38 +0000 Subject: [PATCH] fix(msvc): compile with multi-thread libraries when needed --- src/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4d7509fd80..ed82e0b6dc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -248,7 +248,7 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") elseif (MSVC) # All good. Maybe enforce a recent version? set(STATIC ON) # FIXME: not working yet - set(CMAKE_CXX_FLAGS "/GL /EHsc /W1 /Zc:implicitNoexcept- ${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "/GL /EHsc /W1 /Zc:implicitNoexcept- -D_SCL_SECURE_NO_WARNINGS ${CMAKE_CXX_FLAGS}") set(CMAKE_CXX_FLAGS_DEBUG "/Od /Zi ${CMAKE_CXX_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS_MINSIZEREL "/Os /Zc:inline ${CMAKE_CXX_FLAGS_MINSIZEREL}") set(CMAKE_CXX_FLAGS_RELEASE "/O2 /Oi /Oy /Zc:inline ${CMAKE_CXX_FLAGS_RELEASE}") @@ -267,6 +267,11 @@ if (NOT MSVC) set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os ${CMAKE_CXX_FLAGS_MINSIZEREL}") set(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE}") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +elseif (MULTI_THREAD) + set(CMAKE_CXX_FLAGS_DEBUG "/MTd ${CMAKE_CXX_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_MINSIZEREL "/MT ${CMAKE_CXX_FLAGS_MINSIZEREL}") + set(CMAKE_CXX_FLAGS_RELEASE "/MT ${CMAKE_CXX_FLAGS_RELEASE}") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") endif () if (EMSCRIPTEN)