diff --git a/CMakeLists.txt b/CMakeLists.txt index 42cf25571173cfbf99bb168e02fc0d7ba1f5fe1d..0179b0b43733ebc42da850df8364edba73924d6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,6 +152,14 @@ if(${MGE_ARCH} STREQUAL "x86_64" OR ${MGE_ARCH} STREQUAL "i386" OR ${MGE_ARCH} S endif() if(MSVC OR WIN32) + # for cmake after 3.15.2 + cmake_policy(SET CMP0091 NEW) + if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDebug") + else() + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded") + endif() + add_compile_definitions(NOMINMAX=1 _USE_MATH_DEFINES=1 WIN32=1) message("-- into windows build...") message("-- CMAKE_C_COMPILER_ID: ${CMAKE_C_COMPILER_ID}") diff --git a/imperative/CMakeLists.txt b/imperative/CMakeLists.txt index a0721270404742893ae222c738337f93882fc94b..a594206f28a8bc19ed37a4bab0de14400eabf20a 100644 --- a/imperative/CMakeLists.txt +++ b/imperative/CMakeLists.txt @@ -57,6 +57,8 @@ if (APPLE) elseif (MSVC OR WIN32) # Windows does not support implicitly importing data members from DLL. target_link_libraries(${MODULE_NAME} PRIVATE megbrain megdnn) + message("-- CMAKE_MSVC_RUNTIME_LIBRARY: ${CMAKE_MSVC_RUNTIME_LIBRARY}") + set_target_properties(${MODULE_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY "${CMAKE_MSVC_RUNTIME_LIBRARY}") else() target_link_libraries(${MODULE_NAME} PRIVATE megengine_export -Wl,--version-script=${VERSION_SCRIPT}) endif()