aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2010-03-25 23:12:35 +0000
committerzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2010-03-25 23:12:35 +0000
commit2429dfc6414762a692d3fbe02e8f00bbcba58c5e (patch)
tree372727ec941dd35ab9c295e5f7c9c46cfff044c2 /CMakeLists.txt
parentb2c1ee6d84668707f3b3548969c93d80c8924fdf (diff)
downloadgoogletest-2429dfc6414762a692d3fbe02e8f00bbcba58c5e.tar.gz
googletest-2429dfc6414762a692d3fbe02e8f00bbcba58c5e.tar.bz2
googletest-2429dfc6414762a692d3fbe02e8f00bbcba58c5e.zip
Cleans up the cmake script.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt24
1 files changed, 15 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d499ebe3..e8d18bd0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,21 +67,26 @@ if (MSVC)
set(cxx_base_flags "-GS -W4 -WX -wd4275 -nologo -J -Zi")
set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")
set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")
- set(cxx_exceptions_flags "-EHsc -D_HAS_EXCEPTIONS=1")
+ set(cxx_exception_flags "-EHsc -D_HAS_EXCEPTIONS=1")
set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0")
set(cxx_no_rtti_flags "-GR-")
elseif (CMAKE_COMPILER_IS_GNUCXX)
set(cxx_base_flags "-Wall -Wshadow")
- set(cxx_exceptions_flags "-fexceptions")
+ set(cxx_exception_flags "-fexceptions")
set(cxx_no_exception_flags "-fno-exceptions")
- set(cxx_no_rtti_flags "-fno-rtti")
- set(cxx_strict_flags "${cxx_strict_flags} -Wextra")
+ # Until version 4.3.2, GCC doesn't define a macro to indicate
+ # whether RTTI is enabled. Therefore we define GTEST_HAS_RTTI
+ # explicitly.
+ set(cxx_no_rtti_flags "-fno-rtti -DGTEST_HAS_RTTI=0")
+ set(cxx_strict_flags "-Wextra")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "SunPro")
- set(cxx_exceptions_flags "-features=except")
+ set(cxx_exception_flags "-features=except")
+ # Sun Pro doesn't provide macros to indicate whether exceptions and
+ # RTTI are enabled, so we define GTEST_HAS_* explicitly.
set(cxx_no_exception_flags "-features=no%except -DGTEST_HAS_EXCEPTIONS=0")
- set(cxx_no_rtti_flags "-features=no%rtti")
+ set(cxx_no_rtti_flags "-features=no%rtti -DGTEST_HAS_RTTI=0")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "VisualAge")
- set(cxx_exceptions_flags "-qeh")
+ set(cxx_exception_flags "-qeh")
set(cxx_no_exception_flags "-qnoeh")
set(cxx_no_rtti_flags "-qnortti")
endif()
@@ -91,10 +96,11 @@ if (CMAKE_USE_PTHREADS_INIT) # The pthreads library is available.
endif()
# For building gtest's own tests and samples.
-set(cxx_default "${CMAKE_CXX_FLAGS} ${cxx_base_flags} ${cxx_exceptions_flags}")
+set(cxx_exception "${CMAKE_CXX_FLAGS} ${cxx_base_flags} ${cxx_exception_flags}")
set(cxx_no_exception
"${CMAKE_CXX_FLAGS} ${cxx_base_flags} ${cxx_no_exception_flags}")
-set(cxx_no_rtti "${cxx_default} ${cxx_no_rtti_flags} -DGTEST_HAS_RTTI=0")
+set(cxx_default "${cxx_exception}")
+set(cxx_no_rtti "${cxx_default} ${cxx_no_rtti_flags}")
set(cxx_use_own_tuple "${cxx_default} -DGTEST_USE_OWN_TR1_TUPLE=1")
# For building the gtest libraries.