Skip to content

Commit a55bf13

Browse files
committed
CMake: Use interface target for feature dependencies
1 parent 833f30e commit a55bf13

53 files changed

Lines changed: 312 additions & 199 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 172 additions & 63 deletions
Large diffs are not rendered by default.

cmake/SetupCuBlasMp.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,6 @@ function(abacus_setup_cublasmp target_name)
7373
endif()
7474

7575
# 5. Link the library to the target
76-
target_link_libraries(${target_name} cublasMp::cublasMp)
76+
target_link_libraries(${target_name} PRIVATE cublasMp::cublasMp)
7777

7878
endfunction()

cmake/SetupCuSolverMp.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,12 @@ function(abacus_setup_cusolvermp target_name)
129129
# === Link libraries ===
130130
if(_use_cal)
131131
target_link_libraries(${target_name}
132+
PRIVATE
132133
CAL::CAL
133134
cusolverMp::cusolverMp)
134135
else()
135136
target_link_libraries(${target_name}
137+
PRIVATE
136138
NCCL::NCCL
137139
cusolverMp::cusolverMp)
138140
endif()

cmake/SetupNccl.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,5 @@ function(abacus_setup_nccl target_name)
4545
include_directories(${NCCL_INCLUDE_DIR})
4646
target_include_directories(${target_name} PRIVATE ${NCCL_INCLUDE_DIR})
4747
endif()
48-
target_link_libraries(${target_name} NCCL::NCCL)
48+
target_link_libraries(${target_name} PRIVATE NCCL::NCCL)
4949
endfunction()

cmake/Testing.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ endif()
3939
endif()
4040

4141
# dependencies & link library
42-
target_link_libraries(${UT_TARGET} ${UT_LIBS} Threads::Threads
42+
target_link_libraries(${UT_TARGET} PRIVATE ${UT_LIBS} Threads::Threads
4343
GTest::gtest_main GTest::gmock_main)
4444
if(ENABLE_GOOGLEBENCH)
4545
target_link_libraries(
46-
${UT_TARGET} benchmark::benchmark)
46+
${UT_TARGET} PRIVATE benchmark::benchmark)
4747
endif()
4848

4949
if(USE_OPENMP)
50-
target_link_libraries(${UT_TARGET} OpenMP::OpenMP_CXX)
50+
target_link_libraries(${UT_TARGET} PRIVATE OpenMP::OpenMP_CXX)
5151
endif()
5252

5353
# Link to build info if needed

source/CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,17 @@ add_library(device OBJECT ${device_srcs})
132132

133133
if(USE_CUDA)
134134
target_link_libraries(
135-
device
136-
cusolver
137-
cublas
135+
device
136+
PRIVATE
137+
cusolver
138+
cublas
138139
cufft
139140
)
140141
elseif(USE_ROCM)
141142
target_link_libraries(
142-
device
143-
device_rocm
143+
device
144+
PRIVATE
145+
device_rocm
144146
hip::host
145147
hip::device
146148
hip::hipfft

source/source_base/kernels/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
remove_definitions(-D__MPI)
1+
abacus_disable_feature_definitions(__MPI)
22

33
AddTest(
44
TARGET MODULE_BASE_KERNELS_Unittests

source/source_base/libm/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
remove_definitions(-D__MPI)
1+
abacus_disable_feature_definitions(__MPI)
22

33
AddTest(
44
TARGET MODULE_BASE_LIBM_UTs

source/source_base/module_container/ATen/kernels/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ AddTest(
55
memory_test.cpp linalg_test.cpp
66
)
77

8-
target_link_libraries(MODULE_BASE_container_kernels_uts container base device)
8+
target_link_libraries(MODULE_BASE_container_kernels_uts PRIVATE container base device)

source/source_base/module_container/ATen/ops/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ AddTest(
44
SOURCES einsum_op_test.cpp linalg_op_test.cpp ../../kernels/lapack.cpp
55
)
66

7-
target_link_libraries(MODULE_BASE_container_ops_uts container base device)
7+
target_link_libraries(MODULE_BASE_container_ops_uts PRIVATE container base device)

0 commit comments

Comments
 (0)