diff --git a/CMakeLists.txt b/CMakeLists.txt index 68fa1b84..81f99cdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,5 +20,13 @@ endif() include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) -add_subdirectory(src) -add_subdirectory(tests) \ No newline at end of file +add_library(mscclpp SHARED) +add_subdirectory(src) # This adds the srouces to the mscclpp target +target_include_directories(mscclpp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/include) +set_target_properties(mscclpp PROPERTIES LINKER_LANGUAGE CXX) +target_link_libraries(mscclpp PRIVATE MSCCLPP::ibverbs MSCCLPP::numa CUDA::cudart CUDA::cuda_driver) +if(GDRCOPY_FOUND) + target_link_libraries(mscclpp PRIVATE MSCCLPP::gdrcopy) +endif() + +add_subdirectory(tests) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1d989c6b..5e583d45 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,11 +2,4 @@ file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cc *.h) file(GLOB to_remove gdr.cc) list(REMOVE_ITEM SOURCES ${to_remove}) -add_library(mscclpp SHARED ${SOURCES}) -set_target_properties(mscclpp PROPERTIES LINKER_LANGUAGE CXX) -target_link_libraries(mscclpp PRIVATE MSCCLPP::ibverbs MSCCLPP::numa CUDA::cudart CUDA::cuda_driver) -if(GDRCOPY_FOUND) - target_link_libraries(mscclpp PRIVATE MSCCLPP::gdrcopy) -endif() - -target_include_directories(mscclpp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) \ No newline at end of file +target_sources(mscclpp PRIVATE ${SOURCES})