From 580378d522d579bcaca24a90ccb31abafa157a8d Mon Sep 17 00:00:00 2001 From: Dominic Meiser Date: Mon, 5 Oct 2015 18:02:02 -0400 Subject: [PATCH] Add an option to enable building with -fvisibility=hidden. When this option is set gtest itself is built with -fvisibility=hidden with gcc and clang. This replicates MSVC's default behaviour with gcc and clang. --- googletest/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt index bd78cfe6..961672aa 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt @@ -22,6 +22,11 @@ option(gtest_build_samples "Build gtest's sample programs." OFF) option(gtest_disable_pthreads "Disable uses of pthreads in gtest." OFF) +option( + gtest_hide_internal_symbols + "Build gtest with internal symbols hidden in shared libraries." + OFF) + # Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build(). include(cmake/hermetic_build.cmake OPTIONAL) @@ -46,6 +51,11 @@ if (COMMAND set_up_hermetic_build) set_up_hermetic_build() endif() +if (gtest_hide_internal_symbols) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) +endif() + # Define helper functions and macros used by Google Test. include(cmake/internal_utils.cmake)