]> granicus.if.org Git - taglib/commitdiff
Add build option for Visual Studio to link with the static runtime (/MT vs /MD),...
authorGraham Perks <gperks2011@gmail.com>
Wed, 27 Jul 2011 19:25:26 +0000 (14:25 -0500)
committerGraham Perks <gperks2011@gmail.com>
Wed, 27 Jul 2011 19:25:26 +0000 (14:25 -0500)
CMakeLists.txt

index 611e9ec144229db7f66247c7b0e3e7eb2c2abeb2..df14631e2a12bb52e1dc45bac3fafd1d31a581fd 100644 (file)
@@ -9,6 +9,7 @@ if(ENABLE_STATIC)
 else()
   set(BUILD_SHARED_LIBS ON)
 endif()
+OPTION(ENABLE_STATIC_RUNTIME "Visual Studio, link with runtime statically"  OFF)
 
 option(BUILD_TESTS "Build the test suite"  OFF)
 option(BUILD_EXAMPLES "Build the examples"  OFF)
@@ -34,6 +35,11 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
 endif()
+if (MSVC AND ENABLE_STATIC_RUNTIME)
+  foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+    string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+  endforeach(flag_var)
+endif(ENABLE_STATIC_RUNTIME)
 
 set(TAGLIB_LIB_MAJOR_VERSION "1")
 set(TAGLIB_LIB_MINOR_VERSION "7")