From eb7946ff251b5368ab92f7a0d6279c054e494866 Mon Sep 17 00:00:00 2001 From: Philip Hyunsu Cho Date: Thu, 1 Oct 2020 10:07:13 -0700 Subject: [PATCH] Hide C++ symbols from dmlc-core (#6188) --- CMakeLists.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b6b569894..07d138cb0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ include(cmake/Utils.cmake) list(APPEND CMAKE_MODULE_PATH "${xgboost_SOURCE_DIR}/cmake/modules") cmake_policy(SET CMP0022 NEW) cmake_policy(SET CMP0079 NEW) +set(CMAKE_POLICY_DEFAULT_CMP0063 NEW) cmake_policy(SET CMP0063 NEW) if ((${CMAKE_VERSION} VERSION_GREATER 3.13) OR (${CMAKE_VERSION} VERSION_EQUAL 3.13)) @@ -191,9 +192,6 @@ foreach(lib rabit rabit_mock_static) # from dmlc is correctly applied to rabit. if (TARGET ${lib}) target_link_libraries(${lib} dmlc ${CMAKE_THREAD_LIBS_INIT}) - if (HIDE_CXX_SYMBOLS) # Hide all C++ symbols from Rabit - set_target_properties(${lib} PROPERTIES CXX_VISIBILITY_PRESET hidden) - endif (HIDE_CXX_SYMBOLS) if (ENABLE_ALL_WARNINGS) target_compile_options(${lib} PRIVATE -Wall -Wextra) endif (ENABLE_ALL_WARNINGS) @@ -222,8 +220,9 @@ endif (USE_CUDA) #-- Hide all C++ symbols if (HIDE_CXX_SYMBOLS) - set_target_properties(objxgboost PROPERTIES CXX_VISIBILITY_PRESET hidden) - set_target_properties(xgboost PROPERTIES CXX_VISIBILITY_PRESET hidden) + foreach(target objxgboost xgboost dmlc rabit rabit_mock_static) + set_target_properties(${target} PROPERTIES CXX_VISIBILITY_PRESET hidden) + endforeach() endif (HIDE_CXX_SYMBOLS) target_include_directories(xgboost