Skip to content

Commit 8472d92

Browse files
committed
Windows change to using runtime library dynamic linking
1 parent 9f64d32 commit 8472d92

File tree

3 files changed

+28
-12
lines changed

3 files changed

+28
-12
lines changed

CMakeLists.txt

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,26 @@ IF(CMAKE_ENABLE_C++11)
8989
ENDIF(COMPILER_SUPPORTS_CXX11)
9090
ENDIF(CMAKE_ENABLE_C++11)
9191

92-
#-----------------
93-
# Changing CRT from dynamic to static (Windows Only)
94-
IF(WIN32)
95-
INCLUDE(${CMAKE_SOURCE_DIR}/changeCrt.cmake)
96-
CHANGE_CRT("/MT")
97-
ENDIF(WIN32)
92+
93+
#
94+
# Configure static runtime library on Windows if requested
95+
#
96+
97+
option(STATIC_MSVCRT "Use static MSVC runtime library" ON)
98+
99+
if(WIN32 AND STATIC_MSVCRT)
100+
101+
message("Using static runtime library")
102+
103+
foreach(LANG C CXX)
104+
set(CMAKE_${LANG}_FLAGS "${CMAKE_${LANG}_FLAGS} /MT")
105+
foreach(TYPE RELEASE RELWITHDEBINFO MINSIZEREL)
106+
set(CMAKE_${LANG}_FLAGS_${TYPE} "${CMAKE_${LANG}_FLAGS_${TYPE}} /MT")
107+
endforeach()
108+
set(CMAKE_${LANG}_FLAGS_DEBUG "${CMAKE_${LANG}_FLAGS_DEBUG} /MTd")
109+
endforeach(LANG)
110+
111+
endif()
98112

99113
#-----------------
100114
# ICU

changeCrt.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ MACRO(CHANGE_CRT _switch2use)
4141
STRING(REGEX REPLACE "/M${switch2change}" "/M${switch2use}" ${flags} "${${flags}}")
4242
ENDIF(${flags} MATCHES "/M${switch2change}")
4343

44+
MESSAGE(STATUS, "CHANGE_CRT ${flags} ${${flags}}")
45+
4446
ENDFOREACH(flags)
4547
ENDIF(WIN32)
4648

driver/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -299,17 +299,17 @@ IF(WIN32)
299299
# LINK_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMTD /NODEFAULTLIB:LIBCMT"
300300
# LINK_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:LIBCMT"
301301
# LINK_FLAGS_RELEASE "/NODEFAULTLIB:LIBCMT")
302-
#
302+
303303
# SET_TARGET_PROPERTIES(mysqlcppconn-static PROPERTIES
304304
# STATIC_LIBRARY_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMTD"
305305
# STATIC_LIBRARY_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:LIBCMT"
306306
# STATIC_LIBRARY_FLAGS_RELEASE "/NODEFAULTLIB:LIBCMT")
307307

308-
# Changing CRT from dynamic to static
309-
IF(MYSQLCLIENT_STATIC_BINDING)
310-
INCLUDE(${CMAKE_SOURCE_DIR}/changeCrt.cmake)
311-
CHANGE_CRT("/MT")
312-
ENDIF()
308+
# # Changing CRT from static to dynamic
309+
# IF(MYSQLCLIENT_STATIC_BINDING)
310+
# INCLUDE(${CMAKE_SOURCE_DIR}/changeCrt.cmake)
311+
# CHANGE_CRT("/MD")
312+
# ENDIF()
313313

314314
INSTALL(TARGETS mysqlcppconn mysqlcppconn-static
315315
RUNTIME DESTINATION lib

0 commit comments

Comments
 (0)