|
|
@ -48,10 +48,14 @@ endmacro() |
|
|
|
macro(config_compiler_and_linker) |
|
|
|
macro(config_compiler_and_linker) |
|
|
|
# Note: pthreads on MinGW is not supported, even if available |
|
|
|
# Note: pthreads on MinGW is not supported, even if available |
|
|
|
# instead, we use windows threading primitives |
|
|
|
# instead, we use windows threading primitives |
|
|
|
|
|
|
|
unset(GTEST_HAS_PTHREAD) |
|
|
|
if (NOT gtest_disable_pthreads AND NOT MINGW) |
|
|
|
if (NOT gtest_disable_pthreads AND NOT MINGW) |
|
|
|
# Defines CMAKE_USE_PTHREADS_INIT and CMAKE_THREAD_LIBS_INIT. |
|
|
|
# Defines CMAKE_USE_PTHREADS_INIT and CMAKE_THREAD_LIBS_INIT. |
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON) |
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON) |
|
|
|
find_package(Threads) |
|
|
|
find_package(Threads) |
|
|
|
|
|
|
|
if (CMAKE_USE_PTHREADS_INIT) |
|
|
|
|
|
|
|
set(GTEST_HAS_PTHREAD ON) |
|
|
|
|
|
|
|
endif() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
fix_default_compiler_settings_() |
|
|
|
fix_default_compiler_settings_() |
|
|
@ -94,7 +98,7 @@ macro(config_compiler_and_linker) |
|
|
|
set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0") |
|
|
|
set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0") |
|
|
|
set(cxx_no_rtti_flags "-GR-") |
|
|
|
set(cxx_no_rtti_flags "-GR-") |
|
|
|
elseif (CMAKE_COMPILER_IS_GNUCXX) |
|
|
|
elseif (CMAKE_COMPILER_IS_GNUCXX) |
|
|
|
set(cxx_base_flags "-Wall -Wshadow") |
|
|
|
set(cxx_base_flags "-Wall -Wshadow -Werror") |
|
|
|
set(cxx_exception_flags "-fexceptions") |
|
|
|
set(cxx_exception_flags "-fexceptions") |
|
|
|
set(cxx_no_exception_flags "-fno-exceptions") |
|
|
|
set(cxx_no_exception_flags "-fno-exceptions") |
|
|
|
# Until version 4.3.2, GCC doesn't define a macro to indicate |
|
|
|
# Until version 4.3.2, GCC doesn't define a macro to indicate |
|
|
@ -126,7 +130,8 @@ macro(config_compiler_and_linker) |
|
|
|
set(cxx_no_rtti_flags "") |
|
|
|
set(cxx_no_rtti_flags "") |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
if (CMAKE_USE_PTHREADS_INIT) # The pthreads library is available and allowed. |
|
|
|
# The pthreads library is available and allowed? |
|
|
|
|
|
|
|
if (DEFINED GTEST_HAS_PTHREAD) |
|
|
|
set(GTEST_HAS_PTHREAD_MACRO "-DGTEST_HAS_PTHREAD=1") |
|
|
|
set(GTEST_HAS_PTHREAD_MACRO "-DGTEST_HAS_PTHREAD=1") |
|
|
|
else() |
|
|
|
else() |
|
|
|
set(GTEST_HAS_PTHREAD_MACRO "-DGTEST_HAS_PTHREAD=0") |
|
|
|
set(GTEST_HAS_PTHREAD_MACRO "-DGTEST_HAS_PTHREAD=0") |
|
|
@ -159,7 +164,7 @@ function(cxx_library_with_type name type cxx_flags) |
|
|
|
PROPERTIES |
|
|
|
PROPERTIES |
|
|
|
COMPILE_DEFINITIONS "GTEST_CREATE_SHARED_LIBRARY=1") |
|
|
|
COMPILE_DEFINITIONS "GTEST_CREATE_SHARED_LIBRARY=1") |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
if (CMAKE_USE_PTHREADS_INIT) |
|
|
|
if (DEFINED GTEST_HAS_PTHREAD) |
|
|
|
target_link_libraries(${name} ${CMAKE_THREAD_LIBS_INIT}) |
|
|
|
target_link_libraries(${name} ${CMAKE_THREAD_LIBS_INIT}) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
endfunction() |
|
|
|
endfunction() |
|
|
|