From 7beb2f7fae9589750c8d8dd01d039f90c71fc81f Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Fri, 4 Jun 2021 02:35:46 +0800 Subject: [PATCH] Hide symbols in CI build + hide symbols for C and CUDA (#6798) * Hide symbols in CI build. * Hide symbols for other languages. --- CMakeLists.txt | 2 ++ tests/ci_build/build_via_cmake.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c5694f7ce..52fd37cd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -197,7 +197,9 @@ endif (USE_CUDA) #-- Hide all C++ symbols if (HIDE_CXX_SYMBOLS) foreach(target objxgboost xgboost dmlc) + set_target_properties(${target} PROPERTIES C_VISIBILITY_PRESET hidden) set_target_properties(${target} PROPERTIES CXX_VISIBILITY_PRESET hidden) + set_target_properties(${target} PROPERTIES CUDA_VISIBILITY_PRESET hidden) endforeach() endif (HIDE_CXX_SYMBOLS) diff --git a/tests/ci_build/build_via_cmake.sh b/tests/ci_build/build_via_cmake.sh index 44c9b5d4a..31132a1f7 100755 --- a/tests/ci_build/build_via_cmake.sh +++ b/tests/ci_build/build_via_cmake.sh @@ -17,7 +17,7 @@ fi rm -rf build mkdir build cd build -cmake .. ${cmake_args} -DGOOGLE_TEST=ON -DUSE_DMLC_GTEST=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_ALL_WARNINGS=ON -GNinja ${cmake_prefix_flag} +cmake .. ${cmake_args} -DGOOGLE_TEST=ON -DUSE_DMLC_GTEST=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_ALL_WARNINGS=ON -GNinja ${cmake_prefix_flag} -DHIDE_CXX_SYMBOLS=ON ninja clean time ninja -v cd ..