[CI] address cmakelint warnings about whitespace (#9674)

This commit is contained in:
James Lamb 2023-10-13 23:46:07 -05:00 committed by GitHub
parent 53049b16b8
commit eb562d3829
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 133 additions and 128 deletions

View File

@ -8,7 +8,7 @@ cmake_policy(SET CMP0076 NEW)
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW) set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
cmake_policy(SET CMP0063 NEW) cmake_policy(SET CMP0063 NEW)
if ((${CMAKE_VERSION} VERSION_GREATER 3.13) OR (${CMAKE_VERSION} VERSION_EQUAL 3.13)) if((${CMAKE_VERSION} VERSION_GREATER 3.13) OR (${CMAKE_VERSION} VERSION_EQUAL 3.13))
cmake_policy(SET CMP0077 NEW) cmake_policy(SET CMP0077 NEW)
endif() endif()
@ -86,91 +86,93 @@ option(PLUGIN_UPDATER_ONEAPI "DPC++ updater" OFF)
option(ADD_PKGCONFIG "Add xgboost.pc into system." ON) option(ADD_PKGCONFIG "Add xgboost.pc into system." ON)
#-- Checks for building XGBoost #-- Checks for building XGBoost
if (USE_DEBUG_OUTPUT AND (NOT (CMAKE_BUILD_TYPE MATCHES Debug))) if(USE_DEBUG_OUTPUT AND (NOT (CMAKE_BUILD_TYPE MATCHES Debug)))
message(SEND_ERROR "Do not enable `USE_DEBUG_OUTPUT' with release build.") message(SEND_ERROR "Do not enable `USE_DEBUG_OUTPUT' with release build.")
endif() endif()
if (USE_NCCL AND NOT (USE_CUDA)) if(USE_NCCL AND NOT (USE_CUDA))
message(SEND_ERROR "`USE_NCCL` must be enabled with `USE_CUDA` flag.") message(SEND_ERROR "`USE_NCCL` must be enabled with `USE_CUDA` flag.")
endif() endif()
if (USE_DEVICE_DEBUG AND NOT (USE_CUDA)) if(USE_DEVICE_DEBUG AND NOT (USE_CUDA))
message(SEND_ERROR "`USE_DEVICE_DEBUG` must be enabled with `USE_CUDA` flag.") message(SEND_ERROR "`USE_DEVICE_DEBUG` must be enabled with `USE_CUDA` flag.")
endif() endif()
if (BUILD_WITH_SHARED_NCCL AND (NOT USE_NCCL)) if(BUILD_WITH_SHARED_NCCL AND (NOT USE_NCCL))
message(SEND_ERROR "Build XGBoost with -DUSE_NCCL=ON to enable BUILD_WITH_SHARED_NCCL.") message(SEND_ERROR "Build XGBoost with -DUSE_NCCL=ON to enable BUILD_WITH_SHARED_NCCL.")
endif() endif()
if (JVM_BINDINGS AND R_LIB) if(JVM_BINDINGS AND R_LIB)
message(SEND_ERROR "`R_LIB' is not compatible with `JVM_BINDINGS' as they both have customized configurations.") message(SEND_ERROR "`R_LIB' is not compatible with `JVM_BINDINGS' as they both have customized configurations.")
endif() endif()
if (R_LIB AND GOOGLE_TEST) if(R_LIB AND GOOGLE_TEST)
message(WARNING "Some C++ unittests will fail with `R_LIB` enabled, message(
as R package redirects some functions to R runtime implementation.") WARNING
"Some C++ tests will fail with `R_LIB` enabled, as R package redirects some functions to R runtime implementation."
)
endif() endif()
if (PLUGIN_RMM AND NOT (USE_CUDA)) if(PLUGIN_RMM AND NOT (USE_CUDA))
message(SEND_ERROR "`PLUGIN_RMM` must be enabled with `USE_CUDA` flag.") message(SEND_ERROR "`PLUGIN_RMM` must be enabled with `USE_CUDA` flag.")
endif() endif()
if (PLUGIN_RMM AND NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))) if(PLUGIN_RMM AND NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
message(SEND_ERROR "`PLUGIN_RMM` must be used with GCC or Clang compiler.") message(SEND_ERROR "`PLUGIN_RMM` must be used with GCC or Clang compiler.")
endif() endif()
if (PLUGIN_RMM AND NOT (CMAKE_SYSTEM_NAME STREQUAL "Linux")) if(PLUGIN_RMM AND NOT (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
message(SEND_ERROR "`PLUGIN_RMM` must be used with Linux.") message(SEND_ERROR "`PLUGIN_RMM` must be used with Linux.")
endif() endif()
if (ENABLE_ALL_WARNINGS) if(ENABLE_ALL_WARNINGS)
if ((NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")) if((NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))
message(SEND_ERROR "ENABLE_ALL_WARNINGS is only available for Clang and GCC.") message(SEND_ERROR "ENABLE_ALL_WARNINGS is only available for Clang and GCC.")
endif() endif()
endif() endif()
if (BUILD_STATIC_LIB AND (R_LIB OR JVM_BINDINGS)) if(BUILD_STATIC_LIB AND (R_LIB OR JVM_BINDINGS))
message(SEND_ERROR "Cannot build a static library libxgboost.a when R or JVM packages are enabled.") message(SEND_ERROR "Cannot build a static library libxgboost.a when R or JVM packages are enabled.")
endif() endif()
if (PLUGIN_FEDERATED) if(PLUGIN_FEDERATED)
if (CMAKE_CROSSCOMPILING) if(CMAKE_CROSSCOMPILING)
message(SEND_ERROR "Cannot cross compile with federated learning support") message(SEND_ERROR "Cannot cross compile with federated learning support")
endif() endif()
if (BUILD_STATIC_LIB) if(BUILD_STATIC_LIB)
message(SEND_ERROR "Cannot build static lib with federated learning support") message(SEND_ERROR "Cannot build static lib with federated learning support")
endif() endif()
if (R_LIB OR JVM_BINDINGS) if(R_LIB OR JVM_BINDINGS)
message(SEND_ERROR "Cannot enable federated learning support when R or JVM packages are enabled.") message(SEND_ERROR "Cannot enable federated learning support when R or JVM packages are enabled.")
endif() endif()
if (WIN32) if(WIN32)
message(SEND_ERROR "Federated learning not supported for Windows platform") message(SEND_ERROR "Federated learning not supported for Windows platform")
endif() endif()
endif() endif()
#-- Removed options #-- Removed options
if (USE_AVX) if(USE_AVX)
message(SEND_ERROR "The option `USE_AVX` is deprecated as experimental AVX features have been removed from XGBoost.") message(SEND_ERROR "The option `USE_AVX` is deprecated as experimental AVX features have been removed from XGBoost.")
endif() endif()
if (PLUGIN_LZ4) if(PLUGIN_LZ4)
message(SEND_ERROR "The option `PLUGIN_LZ4` is removed from XGBoost.") message(SEND_ERROR "The option `PLUGIN_LZ4` is removed from XGBoost.")
endif() endif()
if (RABIT_BUILD_MPI) if(RABIT_BUILD_MPI)
message(SEND_ERROR "The option `RABIT_BUILD_MPI` has been removed from XGBoost.") message(SEND_ERROR "The option `RABIT_BUILD_MPI` has been removed from XGBoost.")
endif() endif()
if (USE_S3) if(USE_S3)
message(SEND_ERROR "The option `USE_S3` has been removed from XGBoost") message(SEND_ERROR "The option `USE_S3` has been removed from XGBoost")
endif() endif()
if (USE_AZURE) if(USE_AZURE)
message(SEND_ERROR "The option `USE_AZURE` has been removed from XGBoost") message(SEND_ERROR "The option `USE_AZURE` has been removed from XGBoost")
endif() endif()
if (USE_HDFS) if(USE_HDFS)
message(SEND_ERROR "The option `USE_HDFS` has been removed from XGBoost") message(SEND_ERROR "The option `USE_HDFS` has been removed from XGBoost")
endif() endif()
#-- Sanitizer #-- Sanitizer
if (USE_SANITIZER) if(USE_SANITIZER)
include(cmake/Sanitizer.cmake) include(cmake/Sanitizer.cmake)
enable_sanitizers("${ENABLED_SANITIZERS}") enable_sanitizers("${ENABLED_SANITIZERS}")
endif() endif()
if (USE_CUDA) if(USE_CUDA)
set(USE_OPENMP ON CACHE BOOL "CUDA requires OpenMP" FORCE) set(USE_OPENMP ON CACHE BOOL "CUDA requires OpenMP" FORCE)
# `export CXX=' is ignored by CMake CUDA. # `export CXX=' is ignored by CMake CUDA.
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
message(STATUS "Configured CUDA host compiler: ${CMAKE_CUDA_HOST_COMPILER}") message(STATUS "Configured CUDA host compiler: ${CMAKE_CUDA_HOST_COMPILER}")
enable_language(CUDA) enable_language(CUDA)
if (${CMAKE_CUDA_COMPILER_VERSION} VERSION_LESS 11.0) if(${CMAKE_CUDA_COMPILER_VERSION} VERSION_LESS 11.0)
message(FATAL_ERROR "CUDA version must be at least 11.0!") message(FATAL_ERROR "CUDA version must be at least 11.0!")
endif() endif()
set(GEN_CODE "") set(GEN_CODE "")
@ -180,7 +182,7 @@ if (USE_CUDA)
find_package(CUDAToolkit REQUIRED) find_package(CUDAToolkit REQUIRED)
endif() endif()
if (FORCE_COLORED_OUTPUT AND (CMAKE_GENERATOR STREQUAL "Ninja") AND if(FORCE_COLORED_OUTPUT AND (CMAKE_GENERATOR STREQUAL "Ninja") AND
((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))) (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
@ -188,10 +190,10 @@ endif()
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
if (USE_OPENMP) if(USE_OPENMP)
if (APPLE) if(APPLE)
find_package(OpenMP) find_package(OpenMP)
if (NOT OpenMP_FOUND) if(NOT OpenMP_FOUND)
# Try again with extra path info; required for libomp 15+ from Homebrew # Try again with extra path info; required for libomp 15+ from Homebrew
execute_process(COMMAND brew --prefix libomp execute_process(COMMAND brew --prefix libomp
OUTPUT_VARIABLE HOMEBREW_LIBOMP_PREFIX OUTPUT_VARIABLE HOMEBREW_LIBOMP_PREFIX
@ -205,31 +207,33 @@ if (USE_OPENMP)
set(OpenMP_omp_LIBRARY ${HOMEBREW_LIBOMP_PREFIX}/lib/libomp.dylib) set(OpenMP_omp_LIBRARY ${HOMEBREW_LIBOMP_PREFIX}/lib/libomp.dylib)
find_package(OpenMP REQUIRED) find_package(OpenMP REQUIRED)
endif() endif()
else () else()
find_package(OpenMP REQUIRED) find_package(OpenMP REQUIRED)
endif() endif()
endif() endif()
#Add for IBM i #Add for IBM i
if (${CMAKE_SYSTEM_NAME} MATCHES "OS400") if(${CMAKE_SYSTEM_NAME} MATCHES "OS400")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -X64 qc <TARGET> <OBJECTS>") set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -X64 qc <TARGET> <OBJECTS>")
endif() endif()
if (USE_NCCL) if(USE_NCCL)
find_package(Nccl REQUIRED) find_package(Nccl REQUIRED)
endif() endif()
# dmlc-core # dmlc-core
msvc_use_static_runtime() msvc_use_static_runtime()
if (FORCE_SHARED_CRT) if(FORCE_SHARED_CRT)
set(DMLC_FORCE_SHARED_CRT ON) set(DMLC_FORCE_SHARED_CRT ON)
endif() endif()
add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core) add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core)
if (MSVC) if(MSVC)
if (TARGET dmlc_unit_tests) if(TARGET dmlc_unit_tests)
target_compile_options(dmlc_unit_tests PRIVATE target_compile_options(
-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE) dmlc_unit_tests PRIVATE
-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE
)
endif() endif()
endif() endif()
@ -241,19 +245,19 @@ add_subdirectory(${xgboost_SOURCE_DIR}/src)
target_link_libraries(objxgboost PUBLIC dmlc) target_link_libraries(objxgboost PUBLIC dmlc)
# Exports some R specific definitions and objects # Exports some R specific definitions and objects
if (R_LIB) if(R_LIB)
add_subdirectory(${xgboost_SOURCE_DIR}/R-package) add_subdirectory(${xgboost_SOURCE_DIR}/R-package)
endif() endif()
# This creates its own shared library `xgboost4j'. # This creates its own shared library `xgboost4j'.
if (JVM_BINDINGS) if(JVM_BINDINGS)
add_subdirectory(${xgboost_SOURCE_DIR}/jvm-packages) add_subdirectory(${xgboost_SOURCE_DIR}/jvm-packages)
endif() endif()
# Plugin # Plugin
add_subdirectory(${xgboost_SOURCE_DIR}/plugin) add_subdirectory(${xgboost_SOURCE_DIR}/plugin)
if (PLUGIN_RMM) if(PLUGIN_RMM)
find_package(rmm REQUIRED) find_package(rmm REQUIRED)
# Patch the rmm targets so they reference the static cudart # Patch the rmm targets so they reference the static cudart
@ -267,7 +271,7 @@ if (PLUGIN_RMM)
endif() endif()
#-- library #-- library
if (BUILD_STATIC_LIB) if(BUILD_STATIC_LIB)
add_library(xgboost STATIC) add_library(xgboost STATIC)
else() else()
add_library(xgboost SHARED) add_library(xgboost SHARED)
@ -280,7 +284,7 @@ target_include_directories(xgboost
#-- End shared library #-- End shared library
#-- CLI for xgboost #-- CLI for xgboost
if (BUILD_DEPRECATED_CLI) if(BUILD_DEPRECATED_CLI)
add_executable(runxgboost ${xgboost_SOURCE_DIR}/src/cli_main.cc) add_executable(runxgboost ${xgboost_SOURCE_DIR}/src/cli_main.cc)
target_link_libraries(runxgboost PRIVATE objxgboost) target_link_libraries(runxgboost PRIVATE objxgboost)
target_include_directories(runxgboost target_include_directories(runxgboost
@ -294,9 +298,9 @@ if (BUILD_DEPRECATED_CLI)
xgboost_target_link_libraries(runxgboost) xgboost_target_link_libraries(runxgboost)
xgboost_target_defs(runxgboost) xgboost_target_defs(runxgboost)
if (KEEP_BUILD_ARTIFACTS_IN_BINARY_DIR) if(KEEP_BUILD_ARTIFACTS_IN_BINARY_DIR)
set_output_directory(runxgboost ${xgboost_BINARY_DIR}) set_output_directory(runxgboost ${xgboost_BINARY_DIR})
else () else()
set_output_directory(runxgboost ${xgboost_SOURCE_DIR}) set_output_directory(runxgboost ${xgboost_SOURCE_DIR})
endif() endif()
endif() endif()
@ -309,38 +313,38 @@ foreach(target xgboost objxgboost dmlc)
xgboost_target_defs(${target}) xgboost_target_defs(${target})
endforeach() endforeach()
if (JVM_BINDINGS) if(JVM_BINDINGS)
xgboost_target_properties(xgboost4j) xgboost_target_properties(xgboost4j)
xgboost_target_link_libraries(xgboost4j) xgboost_target_link_libraries(xgboost4j)
xgboost_target_defs(xgboost4j) xgboost_target_defs(xgboost4j)
endif() endif()
if (KEEP_BUILD_ARTIFACTS_IN_BINARY_DIR) if(KEEP_BUILD_ARTIFACTS_IN_BINARY_DIR)
set_output_directory(xgboost ${xgboost_BINARY_DIR}/lib) set_output_directory(xgboost ${xgboost_BINARY_DIR}/lib)
else () else()
set_output_directory(xgboost ${xgboost_SOURCE_DIR}/lib) set_output_directory(xgboost ${xgboost_SOURCE_DIR}/lib)
endif() endif()
# Ensure these two targets do not build simultaneously, as they produce outputs with conflicting names # Ensure these two targets do not build simultaneously, as they produce outputs with conflicting names
if (BUILD_DEPRECATED_CLI) if(BUILD_DEPRECATED_CLI)
add_dependencies(xgboost runxgboost) add_dependencies(xgboost runxgboost)
endif() endif()
#-- Installing XGBoost #-- Installing XGBoost
if (R_LIB) if(R_LIB)
include(cmake/RPackageInstallTargetSetup.cmake) include(cmake/RPackageInstallTargetSetup.cmake)
set_target_properties(xgboost PROPERTIES PREFIX "") set_target_properties(xgboost PROPERTIES PREFIX "")
if (APPLE) if(APPLE)
set_target_properties(xgboost PROPERTIES SUFFIX ".so") set_target_properties(xgboost PROPERTIES SUFFIX ".so")
endif() endif()
setup_rpackage_install_target(xgboost "${CMAKE_CURRENT_BINARY_DIR}/R-package-install") setup_rpackage_install_target(xgboost "${CMAKE_CURRENT_BINARY_DIR}/R-package-install")
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/dummy_inst") set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/dummy_inst")
endif() endif()
if (MINGW) if(MINGW)
set_target_properties(xgboost PROPERTIES PREFIX "") set_target_properties(xgboost PROPERTIES PREFIX "")
endif() endif()
if (BUILD_C_DOC) if(BUILD_C_DOC)
include(cmake/Doc.cmake) include(cmake/Doc.cmake)
run_doxygen() run_doxygen()
endif() endif()
@ -359,14 +363,14 @@ install(DIRECTORY ${xgboost_SOURCE_DIR}/include/xgboost
# > in any export set. # > in any export set.
# #
# https://github.com/dmlc/xgboost/issues/6085 # https://github.com/dmlc/xgboost/issues/6085
if (BUILD_STATIC_LIB) if(BUILD_STATIC_LIB)
if (BUILD_DEPRECATED_CLI) if(BUILD_DEPRECATED_CLI)
set(INSTALL_TARGETS xgboost runxgboost objxgboost dmlc) set(INSTALL_TARGETS xgboost runxgboost objxgboost dmlc)
else() else()
set(INSTALL_TARGETS xgboost objxgboost dmlc) set(INSTALL_TARGETS xgboost objxgboost dmlc)
endif() endif()
else() else()
if (BUILD_DEPRECATED_CLI) if(BUILD_DEPRECATED_CLI)
set(INSTALL_TARGETS xgboost runxgboost) set(INSTALL_TARGETS xgboost runxgboost)
else() else()
set(INSTALL_TARGETS xgboost) set(INSTALL_TARGETS xgboost)
@ -400,7 +404,7 @@ install(
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/xgboost) DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/xgboost)
#-- Test #-- Test
if (GOOGLE_TEST) if(GOOGLE_TEST)
enable_testing() enable_testing()
# Unittests. # Unittests.
add_executable(testxgboost) add_executable(testxgboost)
@ -420,7 +424,7 @@ if (GOOGLE_TEST)
${xgboost_SOURCE_DIR}/tests/cli/machine.conf.in ${xgboost_SOURCE_DIR}/tests/cli/machine.conf.in
${xgboost_BINARY_DIR}/tests/cli/machine.conf ${xgboost_BINARY_DIR}/tests/cli/machine.conf
@ONLY) @ONLY)
if (BUILD_DEPRECATED_CLI) if(BUILD_DEPRECATED_CLI)
add_test( add_test(
NAME TestXGBoostCLI NAME TestXGBoostCLI
COMMAND runxgboost ${xgboost_BINARY_DIR}/tests/cli/machine.conf COMMAND runxgboost ${xgboost_BINARY_DIR}/tests/cli/machine.conf
@ -437,7 +441,7 @@ endif()
msvc_use_static_runtime() msvc_use_static_runtime()
# Add xgboost.pc # Add xgboost.pc
if (ADD_PKGCONFIG) if(ADD_PKGCONFIG)
configure_file(${xgboost_SOURCE_DIR}/cmake/xgboost.pc.in ${xgboost_BINARY_DIR}/xgboost.pc @ONLY) configure_file(${xgboost_SOURCE_DIR}/cmake/xgboost.pc.in ${xgboost_BINARY_DIR}/xgboost.pc @ONLY)
install( install(

View File

@ -1,14 +1,15 @@
function (run_doxygen) function(run_doxygen)
find_package(Doxygen REQUIRED) find_package(Doxygen REQUIRED)
if (NOT DOXYGEN_DOT_FOUND) if(NOT DOXYGEN_DOT_FOUND)
message(FATAL_ERROR "Command `dot` not found. Please install graphviz.") message(FATAL_ERROR "Command `dot` not found. Please install graphviz.")
endif() endif()
configure_file( configure_file(
${xgboost_SOURCE_DIR}/doc/Doxyfile.in ${xgboost_SOURCE_DIR}/doc/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target( doc_doxygen ALL add_custom_target(
doc_doxygen ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generate C APIs documentation." COMMENT "Generate C APIs documentation."

View File

@ -1,4 +1,4 @@
function (find_prefetch_intrinsics) function(find_prefetch_intrinsics)
include(CheckCXXSourceCompiles) include(CheckCXXSourceCompiles)
check_cxx_source_compiles(" check_cxx_source_compiles("
#include <xmmintrin.h> #include <xmmintrin.h>

View File

@ -12,7 +12,7 @@ macro(enable_sanitizer sanitizer)
elseif(${sanitizer} MATCHES "thread") elseif(${sanitizer} MATCHES "thread")
find_package(TSan) find_package(TSan)
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=thread") set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=thread")
if (TSan_FOUND) if(TSan_FOUND)
link_libraries(${TSan_LIBRARY}) link_libraries(${TSan_LIBRARY})
endif() endif()
@ -33,16 +33,16 @@ macro(enable_sanitizers SANITIZERS)
# Check sanitizers compatibility. # Check sanitizers compatibility.
# Idealy, we should use if(san IN_LIST SANITIZERS) ... endif() # Idealy, we should use if(san IN_LIST SANITIZERS) ... endif()
# But I haven't figure out how to make it work. # But I haven't figure out how to make it work.
foreach ( _san ${SANITIZERS} ) foreach( _san ${SANITIZERS} )
string(TOLOWER ${_san} _san) string(TOLOWER ${_san} _san)
if (_san MATCHES "thread") if(_san MATCHES "thread")
if (${_use_other_sanitizers}) if(${_use_other_sanitizers})
message(FATAL_ERROR message(FATAL_ERROR
"thread sanitizer is not compatible with ${_san} sanitizer.") "thread sanitizer is not compatible with ${_san} sanitizer.")
endif() endif()
set(_use_thread_sanitizer 1) set(_use_thread_sanitizer 1)
else () else()
if (${_use_thread_sanitizer}) if(${_use_thread_sanitizer})
message(FATAL_ERROR message(FATAL_ERROR
"${_san} sanitizer is not compatible with thread sanitizer.") "${_san} sanitizer is not compatible with thread sanitizer.")
endif() endif()

View File

@ -78,7 +78,7 @@ function(set_default_configuration_release)
set(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "" FORCE) set(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "" FORCE)
elseif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) elseif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Release' as none was specified.") message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE ) set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
endif() endif()
endfunction() endfunction()
@ -90,9 +90,9 @@ function(format_gencode_flags flags out)
endif() endif()
# Set up architecture flags # Set up architecture flags
if(NOT flags) if(NOT flags)
if (CUDA_VERSION VERSION_GREATER_EQUAL "11.8") if(CUDA_VERSION VERSION_GREATER_EQUAL "11.8")
set(flags "50;60;70;80;90") set(flags "50;60;70;80;90")
elseif (CUDA_VERSION VERSION_GREATER_EQUAL "11.0") elseif(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
set(flags "50;60;70;80") set(flags "50;60;70;80")
elseif(CUDA_VERSION VERSION_GREATER_EQUAL "10.0") elseif(CUDA_VERSION VERSION_GREATER_EQUAL "10.0")
set(flags "35;50;60;70") set(flags "35;50;60;70")
@ -103,7 +103,7 @@ function(format_gencode_flags flags out)
endif() endif()
endif() endif()
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.18") if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.18")
cmake_policy(SET CMP0104 NEW) cmake_policy(SET CMP0104 NEW)
list(GET flags -1 latest_arch) list(GET flags -1 latest_arch)
list(TRANSFORM flags APPEND "-real") list(TRANSFORM flags APPEND "-real")
@ -133,17 +133,17 @@ function(xgboost_set_cuda_flags target)
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${OpenMP_CXX_FLAGS}> $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${OpenMP_CXX_FLAGS}>
$<$<COMPILE_LANGUAGE:CUDA>:-Xfatbin=-compress-all>) $<$<COMPILE_LANGUAGE:CUDA>:-Xfatbin=-compress-all>)
if (USE_PER_THREAD_DEFAULT_STREAM) if(USE_PER_THREAD_DEFAULT_STREAM)
target_compile_options(${target} PRIVATE target_compile_options(${target} PRIVATE
$<$<COMPILE_LANGUAGE:CUDA>:--default-stream per-thread>) $<$<COMPILE_LANGUAGE:CUDA>:--default-stream per-thread>)
endif() endif()
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.18") if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.18")
set_property(TARGET ${target} PROPERTY CUDA_ARCHITECTURES ${CMAKE_CUDA_ARCHITECTURES}) set_property(TARGET ${target} PROPERTY CUDA_ARCHITECTURES ${CMAKE_CUDA_ARCHITECTURES})
endif() endif()
if (FORCE_COLORED_OUTPUT) if(FORCE_COLORED_OUTPUT)
if (FORCE_COLORED_OUTPUT AND (CMAKE_GENERATOR STREQUAL "Ninja") AND if(FORCE_COLORED_OUTPUT AND (CMAKE_GENERATOR STREQUAL "Ninja") AND
((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))) (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")))
target_compile_options(${target} PRIVATE target_compile_options(${target} PRIVATE
@ -151,7 +151,7 @@ function(xgboost_set_cuda_flags target)
endif() endif()
endif() endif()
if (USE_DEVICE_DEBUG) if(USE_DEVICE_DEBUG)
target_compile_options(${target} PRIVATE target_compile_options(${target} PRIVATE
$<$<AND:$<CONFIG:DEBUG>,$<COMPILE_LANGUAGE:CUDA>>:-G;-src-in-ptx>) $<$<AND:$<CONFIG:DEBUG>,$<COMPILE_LANGUAGE:CUDA>>:-G;-src-in-ptx>)
else() else()
@ -159,7 +159,7 @@ function(xgboost_set_cuda_flags target)
$<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>) $<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>)
endif() endif()
if (USE_NVTX) if(USE_NVTX)
target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_NVTX=1) target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_NVTX=1)
endif() endif()
@ -169,7 +169,7 @@ function(xgboost_set_cuda_flags target)
${xgboost_SOURCE_DIR}/gputreeshap ${xgboost_SOURCE_DIR}/gputreeshap
${CUDAToolkit_INCLUDE_DIRS}) ${CUDAToolkit_INCLUDE_DIRS})
if (MSVC) if(MSVC)
target_compile_options(${target} PRIVATE target_compile_options(${target} PRIVATE
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=/utf-8>) $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=/utf-8>)
endif() endif()
@ -182,11 +182,11 @@ function(xgboost_set_cuda_flags target)
endfunction() endfunction()
macro(xgboost_link_nccl target) macro(xgboost_link_nccl target)
if (BUILD_STATIC_LIB) if(BUILD_STATIC_LIB)
target_include_directories(${target} PUBLIC ${NCCL_INCLUDE_DIR}) target_include_directories(${target} PUBLIC ${NCCL_INCLUDE_DIR})
target_compile_definitions(${target} PUBLIC -DXGBOOST_USE_NCCL=1) target_compile_definitions(${target} PUBLIC -DXGBOOST_USE_NCCL=1)
target_link_libraries(${target} PUBLIC ${NCCL_LIBRARY}) target_link_libraries(${target} PUBLIC ${NCCL_LIBRARY})
else () else()
target_include_directories(${target} PRIVATE ${NCCL_INCLUDE_DIR}) target_include_directories(${target} PRIVATE ${NCCL_INCLUDE_DIR})
target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_NCCL=1) target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_NCCL=1)
target_link_libraries(${target} PRIVATE ${NCCL_LIBRARY}) target_link_libraries(${target} PRIVATE ${NCCL_LIBRARY})
@ -200,7 +200,7 @@ macro(xgboost_target_properties target)
CXX_STANDARD_REQUIRED ON CXX_STANDARD_REQUIRED ON
POSITION_INDEPENDENT_CODE ON) POSITION_INDEPENDENT_CODE ON)
if (HIDE_CXX_SYMBOLS) if(HIDE_CXX_SYMBOLS)
#-- Hide all C++ symbols #-- Hide all C++ symbols
set_target_properties(${target} PROPERTIES set_target_properties(${target} PROPERTIES
C_VISIBILITY_PRESET hidden C_VISIBILITY_PRESET hidden
@ -209,7 +209,7 @@ macro(xgboost_target_properties target)
) )
endif() endif()
if (ENABLE_ALL_WARNINGS) if(ENABLE_ALL_WARNINGS)
target_compile_options(${target} PUBLIC target_compile_options(${target} PUBLIC
$<IF:$<COMPILE_LANGUAGE:CUDA>, $<IF:$<COMPILE_LANGUAGE:CUDA>,
-Xcompiler=-Wall -Xcompiler=-Wextra -Xcompiler=-Wno-expansion-to-defined, -Xcompiler=-Wall -Xcompiler=-Wextra -Xcompiler=-Wno-expansion-to-defined,
@ -222,7 +222,7 @@ macro(xgboost_target_properties target)
$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<COMPILE_LANGUAGE:CXX>>:/MP> $<$<AND:$<CXX_COMPILER_ID:MSVC>,$<COMPILE_LANGUAGE:CXX>>:/MP>
$<$<AND:$<NOT:$<CXX_COMPILER_ID:MSVC>>,$<COMPILE_LANGUAGE:CXX>>:-funroll-loops>) $<$<AND:$<NOT:$<CXX_COMPILER_ID:MSVC>>,$<COMPILE_LANGUAGE:CXX>>:-funroll-loops>)
if (MSVC) if(MSVC)
target_compile_options(${target} PRIVATE target_compile_options(${target} PRIVATE
$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8> $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8>
-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS
@ -230,72 +230,72 @@ macro(xgboost_target_properties target)
) )
endif() endif()
if (WIN32 AND MINGW) if(WIN32 AND MINGW)
target_compile_options(${target} PUBLIC -static-libstdc++) target_compile_options(${target} PUBLIC -static-libstdc++)
endif() endif()
endmacro() endmacro()
# Custom definitions used in xgboost. # Custom definitions used in xgboost.
macro(xgboost_target_defs target) macro(xgboost_target_defs target)
if (NOT ${target} STREQUAL "dmlc") # skip dmlc core for custom logging. if(NOT ${target} STREQUAL "dmlc") # skip dmlc core for custom logging.
target_compile_definitions(${target} target_compile_definitions(${target}
PRIVATE PRIVATE
-DDMLC_LOG_CUSTOMIZE=1 -DDMLC_LOG_CUSTOMIZE=1
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:_MWAITXINTRIN_H_INCLUDED>) $<$<NOT:$<CXX_COMPILER_ID:MSVC>>:_MWAITXINTRIN_H_INCLUDED>)
endif() endif()
if (USE_DEBUG_OUTPUT) if(USE_DEBUG_OUTPUT)
target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_DEBUG_OUTPUT=1) target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_DEBUG_OUTPUT=1)
endif() endif()
if (XGBOOST_MM_PREFETCH_PRESENT) if(XGBOOST_MM_PREFETCH_PRESENT)
target_compile_definitions(${target} target_compile_definitions(${target}
PRIVATE PRIVATE
-DXGBOOST_MM_PREFETCH_PRESENT=1) -DXGBOOST_MM_PREFETCH_PRESENT=1)
endif() endif()
if (XGBOOST_BUILTIN_PREFETCH_PRESENT) if(XGBOOST_BUILTIN_PREFETCH_PRESENT)
target_compile_definitions(${target} target_compile_definitions(${target}
PRIVATE PRIVATE
-DXGBOOST_BUILTIN_PREFETCH_PRESENT=1) -DXGBOOST_BUILTIN_PREFETCH_PRESENT=1)
endif() endif()
if (PLUGIN_RMM) if(PLUGIN_RMM)
target_compile_definitions(objxgboost PUBLIC -DXGBOOST_USE_RMM=1) target_compile_definitions(objxgboost PUBLIC -DXGBOOST_USE_RMM=1)
endif() endif()
endmacro() endmacro()
# handles dependencies # handles dependencies
macro(xgboost_target_link_libraries target) macro(xgboost_target_link_libraries target)
if (BUILD_STATIC_LIB) if(BUILD_STATIC_LIB)
target_link_libraries(${target} PUBLIC Threads::Threads ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries(${target} PUBLIC Threads::Threads ${CMAKE_THREAD_LIBS_INIT})
else() else()
target_link_libraries(${target} PRIVATE Threads::Threads ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries(${target} PRIVATE Threads::Threads ${CMAKE_THREAD_LIBS_INIT})
endif() endif()
if (USE_OPENMP) if(USE_OPENMP)
if (BUILD_STATIC_LIB) if(BUILD_STATIC_LIB)
target_link_libraries(${target} PUBLIC OpenMP::OpenMP_CXX) target_link_libraries(${target} PUBLIC OpenMP::OpenMP_CXX)
else() else()
target_link_libraries(${target} PRIVATE OpenMP::OpenMP_CXX) target_link_libraries(${target} PRIVATE OpenMP::OpenMP_CXX)
endif() endif()
endif() endif()
if (USE_CUDA) if(USE_CUDA)
xgboost_set_cuda_flags(${target}) xgboost_set_cuda_flags(${target})
target_link_libraries(${target} PUBLIC CUDA::cudart_static) target_link_libraries(${target} PUBLIC CUDA::cudart_static)
endif() endif()
if (PLUGIN_RMM) if(PLUGIN_RMM)
target_link_libraries(${target} PRIVATE rmm::rmm) target_link_libraries(${target} PRIVATE rmm::rmm)
endif() endif()
if (USE_NCCL) if(USE_NCCL)
xgboost_link_nccl(${target}) xgboost_link_nccl(${target})
endif() endif()
if (USE_NVTX) if(USE_NVTX)
target_link_libraries(${target} PRIVATE CUDA::nvToolsExt) target_link_libraries(${target} PRIVATE CUDA::nvToolsExt)
endif() endif()
if (MINGW) if(MINGW)
target_link_libraries(${target} PRIVATE wsock32 ws2_32) target_link_libraries(${target} PRIVATE wsock32 ws2_32)
endif() endif()
endmacro() endmacro()

View File

@ -1,4 +1,4 @@
function (write_version) function(write_version)
message(STATUS "xgboost VERSION: ${xgboost_VERSION}") message(STATUS "xgboost VERSION: ${xgboost_VERSION}")
configure_file( configure_file(
${xgboost_SOURCE_DIR}/cmake/version_config.h.in ${xgboost_SOURCE_DIR}/cmake/version_config.h.in

View File

@ -1,4 +1,4 @@
if (NVML_LIBRARY) if(NVML_LIBRARY)
unset(NVML_LIBRARY CACHE) unset(NVML_LIBRARY CACHE)
endif() endif()

View File

@ -35,17 +35,17 @@
# #
# This module assumes that the user has already called find_package(CUDA) # This module assumes that the user has already called find_package(CUDA)
if (NCCL_LIBRARY) if(NCCL_LIBRARY)
if(NOT USE_NCCL_LIB_PATH) if(NOT USE_NCCL_LIB_PATH)
# Don't cache NCCL_LIBRARY to enable switching between static and shared. # Don't cache NCCL_LIBRARY to enable switching between static and shared.
unset(NCCL_LIBRARY CACHE) unset(NCCL_LIBRARY CACHE)
endif() endif()
endif() endif()
if (BUILD_WITH_SHARED_NCCL) if(BUILD_WITH_SHARED_NCCL)
# libnccl.so # libnccl.so
set(NCCL_LIB_NAME nccl) set(NCCL_LIB_NAME nccl)
else () else()
# libnccl_static.a # libnccl_static.a
set(NCCL_LIB_NAME nccl_static) set(NCCL_LIB_NAME nccl_static)
endif() endif()

View File

@ -3,7 +3,7 @@ find_package(xgboost REQUIRED)
# xgboost is built as static libraries, all cxx dependencies need to be linked into the # xgboost is built as static libraries, all cxx dependencies need to be linked into the
# executable. # executable.
if (XGBOOST_BUILD_STATIC_LIB) if(XGBOOST_BUILD_STATIC_LIB)
enable_language(CXX) enable_language(CXX)
# find again for those cxx libraries. # find again for those cxx libraries.
find_package(xgboost REQUIRED) find_package(xgboost REQUIRED)

View File

@ -4,7 +4,7 @@ find_package(xgboost REQUIRED)
# xgboost is built as static libraries, all cxx dependencies need to be linked into the # xgboost is built as static libraries, all cxx dependencies need to be linked into the
# executable. # executable.
if (XGBOOST_BUILD_STATIC_LIB) if(XGBOOST_BUILD_STATIC_LIB)
enable_language(CXX) enable_language(CXX)
# find again for those cxx libraries. # find again for those cxx libraries.
find_package(xgboost REQUIRED) find_package(xgboost REQUIRED)

View File

@ -4,14 +4,14 @@ list(APPEND JVM_SOURCES
${PROJECT_SOURCE_DIR}/jvm-packages/xgboost4j/src/native/xgboost4j.cpp ${PROJECT_SOURCE_DIR}/jvm-packages/xgboost4j/src/native/xgboost4j.cpp
${PROJECT_SOURCE_DIR}/jvm-packages/xgboost4j-gpu/src/native/xgboost4j-gpu.cpp) ${PROJECT_SOURCE_DIR}/jvm-packages/xgboost4j-gpu/src/native/xgboost4j-gpu.cpp)
if (USE_CUDA) if(USE_CUDA)
list(APPEND JVM_SOURCES list(APPEND JVM_SOURCES
${PROJECT_SOURCE_DIR}/jvm-packages/xgboost4j-gpu/src/native/xgboost4j-gpu.cu) ${PROJECT_SOURCE_DIR}/jvm-packages/xgboost4j-gpu/src/native/xgboost4j-gpu.cu)
endif() endif()
add_library(xgboost4j SHARED ${JVM_SOURCES} ${XGBOOST_OBJ_SOURCES}) add_library(xgboost4j SHARED ${JVM_SOURCES} ${XGBOOST_OBJ_SOURCES})
if (ENABLE_ALL_WARNINGS) if(ENABLE_ALL_WARNINGS)
target_compile_options(xgboost4j PUBLIC -Wall -Wextra) target_compile_options(xgboost4j PUBLIC -Wall -Wextra)
endif() endif()

View File

@ -1,8 +1,8 @@
if (PLUGIN_DENSE_PARSER) if(PLUGIN_DENSE_PARSER)
target_sources(objxgboost PRIVATE ${xgboost_SOURCE_DIR}/plugin/dense_parser/dense_libsvm.cc) target_sources(objxgboost PRIVATE ${xgboost_SOURCE_DIR}/plugin/dense_parser/dense_libsvm.cc)
endif() endif()
if (PLUGIN_UPDATER_ONEAPI) if(PLUGIN_UPDATER_ONEAPI)
add_library(oneapi_plugin OBJECT add_library(oneapi_plugin OBJECT
${xgboost_SOURCE_DIR}/plugin/updater_oneapi/regression_obj_oneapi.cc ${xgboost_SOURCE_DIR}/plugin/updater_oneapi/regression_obj_oneapi.cc
${xgboost_SOURCE_DIR}/plugin/updater_oneapi/predictor_oneapi.cc) ${xgboost_SOURCE_DIR}/plugin/updater_oneapi/predictor_oneapi.cc)
@ -18,7 +18,7 @@ if (PLUGIN_UPDATER_ONEAPI)
CXX_STANDARD 17 CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON CXX_STANDARD_REQUIRED ON
POSITION_INDEPENDENT_CODE ON) POSITION_INDEPENDENT_CODE ON)
if (USE_OPENMP) if(USE_OPENMP)
find_package(OpenMP REQUIRED) find_package(OpenMP REQUIRED)
target_link_libraries(oneapi_plugin PUBLIC OpenMP::OpenMP_CXX) target_link_libraries(oneapi_plugin PUBLIC OpenMP::OpenMP_CXX)
endif() endif()
@ -29,6 +29,6 @@ if (PLUGIN_UPDATER_ONEAPI)
endif() endif()
# Add the Federate Learning plugin if enabled. # Add the Federate Learning plugin if enabled.
if (PLUGIN_FEDERATED) if(PLUGIN_FEDERATED)
add_subdirectory(federated) add_subdirectory(federated)
endif() endif()

View File

@ -6,9 +6,9 @@ set(RABIT_SOURCES
${CMAKE_CURRENT_LIST_DIR}/src/allreduce_base.cc ${CMAKE_CURRENT_LIST_DIR}/src/allreduce_base.cc
${CMAKE_CURRENT_LIST_DIR}/src/rabit_c_api.cc) ${CMAKE_CURRENT_LIST_DIR}/src/rabit_c_api.cc)
if (RABIT_MOCK) if(RABIT_MOCK)
list(APPEND RABIT_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/engine_mock.cc) list(APPEND RABIT_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/engine_mock.cc)
else () else()
list(APPEND RABIT_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/engine.cc) list(APPEND RABIT_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/engine.cc)
endif() endif()

View File

@ -11,7 +11,7 @@ set_source_files_properties(
PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
target_sources(objxgboost PRIVATE ${RABIT_SOURCES}) target_sources(objxgboost PRIVATE ${RABIT_SOURCES})
if (USE_CUDA) if(USE_CUDA)
file(GLOB_RECURSE CUDA_SOURCES *.cu *.cuh) file(GLOB_RECURSE CUDA_SOURCES *.cu *.cuh)
target_sources(objxgboost PRIVATE ${CUDA_SOURCES}) target_sources(objxgboost PRIVATE ${CUDA_SOURCES})
endif() endif()
@ -22,7 +22,7 @@ target_include_directories(objxgboost
${xgboost_SOURCE_DIR}/dmlc-core/include ${xgboost_SOURCE_DIR}/dmlc-core/include
${xgboost_SOURCE_DIR}/rabit/include) ${xgboost_SOURCE_DIR}/rabit/include)
if (LOG_CAPI_INVOCATION) if(LOG_CAPI_INVOCATION)
target_compile_definitions(objxgboost PRIVATE -DLOG_CAPI_INVOCATION=1) target_compile_definitions(objxgboost PRIVATE -DLOG_CAPI_INVOCATION=1)
endif() endif()

View File

@ -1,5 +1,5 @@
if (USE_DMLC_GTEST) if(USE_DMLC_GTEST)
if (NOT TARGET gtest) if(NOT TARGET gtest)
message(FATAL_ERROR "USE_DMLC_GTEST=ON but dmlc-core didn't bundle gtest") message(FATAL_ERROR "USE_DMLC_GTEST=ON but dmlc-core didn't bundle gtest")
endif() endif()
set(GTEST_LIBRARIES gtest) set(GTEST_LIBRARIES gtest)
@ -8,17 +8,17 @@ else()
endif() endif()
file(GLOB_RECURSE TEST_SOURCES "*.cc") file(GLOB_RECURSE TEST_SOURCES "*.cc")
if (USE_CUDA) if(USE_CUDA)
file(GLOB_RECURSE CUDA_TEST_SOURCES "*.cu") file(GLOB_RECURSE CUDA_TEST_SOURCES "*.cu")
list(APPEND TEST_SOURCES ${CUDA_TEST_SOURCES}) list(APPEND TEST_SOURCES ${CUDA_TEST_SOURCES})
endif() endif()
file(GLOB_RECURSE ONEAPI_TEST_SOURCES "plugin/*_oneapi.cc") file(GLOB_RECURSE ONEAPI_TEST_SOURCES "plugin/*_oneapi.cc")
if (NOT PLUGIN_UPDATER_ONEAPI) if(NOT PLUGIN_UPDATER_ONEAPI)
list(REMOVE_ITEM TEST_SOURCES ${ONEAPI_TEST_SOURCES}) list(REMOVE_ITEM TEST_SOURCES ${ONEAPI_TEST_SOURCES})
endif() endif()
if (PLUGIN_FEDERATED) if(PLUGIN_FEDERATED)
target_include_directories(testxgboost PRIVATE ${xgboost_SOURCE_DIR}/plugin/federated) target_include_directories(testxgboost PRIVATE ${xgboost_SOURCE_DIR}/plugin/federated)
target_link_libraries(testxgboost PRIVATE federated_client) target_link_libraries(testxgboost PRIVATE federated_client)
else() else()
@ -28,7 +28,7 @@ endif()
target_sources(testxgboost PRIVATE ${TEST_SOURCES} ${xgboost_SOURCE_DIR}/plugin/example/custom_obj.cc) target_sources(testxgboost PRIVATE ${TEST_SOURCES} ${xgboost_SOURCE_DIR}/plugin/example/custom_obj.cc)
if (USE_CUDA AND PLUGIN_RMM) if(USE_CUDA AND PLUGIN_RMM)
find_package(CUDA) find_package(CUDA)
target_include_directories(testxgboost PRIVATE ${CUDA_INCLUDE_DIRS}) target_include_directories(testxgboost PRIVATE ${CUDA_INCLUDE_DIRS})
endif() endif()