msvc optional linking mode

This commit is contained in:
2018-09-28 03:41:06 +07:00
parent a0497e2f91
commit f0cd249b6f
2 changed files with 32 additions and 2 deletions

4
.gitignore vendored
View File

@@ -1,3 +1,5 @@
.vs/*
.vscode/*
build/*
CMakeLists.txt.user
CMakeSettings.json
CMakeLists.txt.user

View File

@@ -18,6 +18,33 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
endif()
endif()
#
# linking mode
#
if(MSVC)
option(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC runtime library DLL" OFF)
if(NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
foreach(flag CMAKE_C_FLAGS
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELWITHDEBINFO)
if(${flag} MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}")
endif()
if(${flag} MATCHES "/MDd")
string(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}")
endif()
endforeach()
endif()
endif()
#
# e2d sources
#
@@ -108,7 +135,8 @@ endif(APPLE)
set(E2D_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/headers)
get_directory_property(E2D_PARENT_DIRECTORY PARENT_DIRECTORY)
get_directory_property(E2D_PARENT_DIRECTORY
PARENT_DIRECTORY)
if(E2D_PARENT_DIRECTORY)
set(E2D_LIBRARIES ${E2D_LIBRARIES} PARENT_SCOPE)
set(E2D_INCLUDE_DIRS ${E2D_INCLUDE_DIRS} PARENT_SCOPE)