@@ -8,6 +8,7 @@ project(pyhwloc LANGUAGES C VERSION 0.0.0)
88list (APPEND CMAKE_MODULE_PATH "${pyhwloc_SOURCE_DIR} /cmake/" )
99
1010option (PYHWLOC_FETCH_HWLOC "Fetch hwloc from GitHub instead of using system version" OFF )
11+ option (PYHWLOC_WITH_CUDA "Add CUDA-related components" ON )
1112
1213set (PYHWLOC_BUILD_HWLOC_CMAKE OFF )
1314if (WIN32 )
@@ -42,7 +43,7 @@ if(PYHWLOC_FETCH_HWLOC)
4243 -G ${CMAKE_GENERATOR}
4344 -DCMAKE_INSTALL_PREFIX=${PYHWLOC_OUTPUT_DIR}
4445 -DBUILD_SHARED_LIBS=ON
45- -DHWLOC_WITH_CUDA=ON
46+ -DHWLOC_WITH_CUDA=${PYHWLOC_WITH_CUDA}
4647 -DHWLOC_ENABLE_PLUGINS=ON
4748 WORKING_DIRECTORY ${hwloc_SOURCE_DIR}
4849 )
@@ -94,26 +95,29 @@ else()
9495endif ()
9596
9697message (STATUS "HWLOC_LIBRARY: ${HWLOC_LIBRARY} " )
97- find_package (CUDAToolkit REQUIRED COMPONENTS nvml cuda_driver cudart_static)
9898
9999target_link_libraries (pyhwloc PRIVATE ${HWLOC_LIBRARY} )
100100target_include_directories (pyhwloc PRIVATE ${HWLOC_INCLUDE_DIR} )
101101list (APPEND PYHWLOC_LIBS pyhwloc)
102102
103- add_library (pyhwloc_cuda SHARED src/ext /cudr.c)
104- target_link_libraries (pyhwloc_cuda PRIVATE CUDA::cuda_driver ${HWLOC_LIBRARY} )
105- target_include_directories (pyhwloc_cuda PRIVATE ${HWLOC_INCLUDE_DIR} )
106- list (APPEND PYHWLOC_LIBS pyhwloc_cuda)
103+ if (PYHWLOC_WITH_CUDA)
104+ find_package (CUDAToolkit REQUIRED COMPONENTS nvml cuda_driver cudart_static)
107105
108- add_library (pyhwloc_cudart SHARED src/ext /cudart .c)
109- target_link_libraries (pyhwloc_cudart PRIVATE CUDA::cudart ${HWLOC_LIBRARY} )
110- target_include_directories (pyhwloc_cudart PRIVATE ${HWLOC_INCLUDE_DIR} )
111- list (APPEND PYHWLOC_LIBS pyhwloc_cudart )
106+ add_library (pyhwloc_cuda SHARED src/ext /cudr .c)
107+ target_link_libraries (pyhwloc_cuda PRIVATE CUDA::cuda_driver ${HWLOC_LIBRARY} )
108+ target_include_directories (pyhwloc_cuda PRIVATE ${HWLOC_INCLUDE_DIR} )
109+ list (APPEND PYHWLOC_LIBS pyhwloc_cuda )
112110
113- add_library (pyhwloc_nvml SHARED src/ext /nvml.c)
114- target_link_libraries (pyhwloc_nvml PRIVATE CUDA::nvml ${HWLOC_LIBRARY} )
115- target_include_directories (pyhwloc_nvml PRIVATE ${HWLOC_INCLUDE_DIR} )
116- list (APPEND PYHWLOC_LIBS pyhwloc_nvml)
111+ add_library (pyhwloc_cudart SHARED src/ext /cudart.c)
112+ target_link_libraries (pyhwloc_cudart PRIVATE CUDA::cudart ${HWLOC_LIBRARY} )
113+ target_include_directories (pyhwloc_cudart PRIVATE ${HWLOC_INCLUDE_DIR} )
114+ list (APPEND PYHWLOC_LIBS pyhwloc_cudart)
115+
116+ add_library (pyhwloc_nvml SHARED src/ext /nvml.c)
117+ target_link_libraries (pyhwloc_nvml PRIVATE CUDA::nvml ${HWLOC_LIBRARY} )
118+ target_include_directories (pyhwloc_nvml PRIVATE ${HWLOC_INCLUDE_DIR} )
119+ list (APPEND PYHWLOC_LIBS pyhwloc_nvml)
120+ endif ()
117121
118122include (GenerateExportHeader)
119123
0 commit comments