aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvladlosev <vladlosev@861a406c-534a-0410-8894-cb66d6ee9925>2010-05-18 21:08:05 +0000
committervladlosev <vladlosev@861a406c-534a-0410-8894-cb66d6ee9925>2010-05-18 21:08:05 +0000
commitc828e171752e67ebba33197ba758a4f24188efcf (patch)
tree5b2ff1d3b9d0a4b9ad1b1bfb0bd59be180e4a52b
parent55d166a2228d7e3b3500b8651ab9b8e56fb43b7e (diff)
downloadgoogletest-c828e171752e67ebba33197ba758a4f24188efcf.tar.gz
googletest-c828e171752e67ebba33197ba758a4f24188efcf.tar.bz2
googletest-c828e171752e67ebba33197ba758a4f24188efcf.zip
Introduces gtest_force_shared_crt option for CMake build scripts.
-rw-r--r--CMakeLists.txt7
-rw-r--r--cmake/internal_utils.cmake2
2 files changed, 8 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fb43ad19..4a978a1a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,6 +12,13 @@
# make it prominent in the GUI.
option(BUILD_SHARED_LIBS "Build shared libraries (DLLs)." OFF)
+# When other libraries are using a shared version of runtime libraries,
+# Google Test also has to use one.
+option(
+ gtest_force_shared_crt
+ "Use shared (DLL) run-time lib even when Google Test is built as static lib."
+ OFF)
+
option(gtest_build_tests "Build all of gtest's own tests." OFF)
option(gtest_build_samples "Build gtest's sample programs." OFF)
diff --git a/cmake/internal_utils.cmake b/cmake/internal_utils.cmake
index c611025e..01dda3f7 100644
--- a/cmake/internal_utils.cmake
+++ b/cmake/internal_utils.cmake
@@ -15,7 +15,7 @@ macro(fix_default_settings)
foreach (flag_var
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- if (NOT BUILD_SHARED_LIBS)
+ if (NOT BUILD_SHARED_LIBS AND NOT gtest_force_shared_crt)
# When Google Test is built as a shared library, it should also use
# shared runtime libraries. Otherwise, it may end up with multiple
# copies of runtime library data in different modules, resulting in