diff --git a/examples/dft/compile_time_dispatching/CMakeLists.txt b/examples/dft/compile_time_dispatching/CMakeLists.txt index 704964af7..ed0ca2922 100644 --- a/examples/dft/compile_time_dispatching/CMakeLists.txt +++ b/examples/dft/compile_time_dispatching/CMakeLists.txt @@ -30,19 +30,17 @@ foreach(dft_ct_source ${DFT_CT_SOURCES}) add_executable(${EXAMPLE_NAME} ${dft_ct_source}.cpp) target_include_directories(${EXAMPLE_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/examples/include - PUBLIC ${PROJECT_SOURCE_DIR}/include PUBLIC ${CMAKE_BINARY_DIR}/bin ) -if(domain STREQUAL "dft" AND ENABLE_MKLCPU_BACKEND AND ENABLE_CUFFT_BACKEND) - add_dependencies(${EXAMPLE_NAME} onemkl_${domain}_mklcpu onemkl_${domain}_cufft) - list(APPEND ONEMKL_LIBRARIES_${domain} onemkl_${domain}_mklcpu onemkl_${domain}_cufft) -endif() + if(domain STREQUAL "dft" AND ENABLE_MKLCPU_BACKEND AND ENABLE_CUFFT_BACKEND) + add_dependencies(${EXAMPLE_NAME} onemkl_${domain}_mklcpu onemkl_${domain}_cufft) + list(APPEND ONEMKL_LIBRARIES_${domain} onemkl_${domain}_mklcpu onemkl_${domain}_cufft) + endif() -target_link_libraries(${EXAMPLE_NAME} PUBLIC - ${ONEMKL_LIBRARIES_${domain}} - ONEMKL::SYCL::SYCL - onemkl_warnings + target_link_libraries(${EXAMPLE_NAME} PUBLIC + ${ONEMKL_LIBRARIES_${domain}} + onemkl_warnings ) # Register example as ctest diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f69e0682a..0b632c1bd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,6 +32,13 @@ set(ENABLE_PORTBLAS_BACKEND_NVIDIA_GPU OFF CACHE INTERNAL "") # store path to CMAKE_CURRENT_BINARY_DIR to use it later (makes FetchContent_Declare workable) set(ONEMKL_GENERATED_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR}) + +set(ONEMKL_INTERFACE_INCLUDE_DIRS + $ + $ + $ +) + # Build loader and backends for each domain add_custom_target(onemkl_backend_libs) foreach(domain ${TARGET_DOMAINS}) @@ -60,9 +67,7 @@ if(BUILD_SHARED_LIBS) add_dependencies(onemkl onemkl_backend_libs) target_include_directories(onemkl - PUBLIC $ - $ - $ + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} ) set_target_properties(onemkl PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} diff --git a/src/dft/backends/cufft/CMakeLists.txt b/src/dft/backends/cufft/CMakeLists.txt index 186b91aef..010905546 100644 --- a/src/dft/backends/cufft/CMakeLists.txt +++ b/src/dft/backends/cufft/CMakeLists.txt @@ -32,8 +32,13 @@ add_library(${LIB_OBJ} OBJECT add_dependencies(onemkl_backend_libs_dft ${LIB_NAME}) target_include_directories(${LIB_OBJ} - PRIVATE ${PROJECT_SOURCE_DIR}/include - ${PROJECT_SOURCE_DIR}/src + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_NAME} + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_OBJ} + PRIVATE ${PROJECT_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/bin ${ONEMKL_GENERATED_INCLUDE_PATH} ) diff --git a/src/dft/backends/mklcpu/CMakeLists.txt b/src/dft/backends/mklcpu/CMakeLists.txt index 28fbdacfa..6d0f1276d 100644 --- a/src/dft/backends/mklcpu/CMakeLists.txt +++ b/src/dft/backends/mklcpu/CMakeLists.txt @@ -33,8 +33,14 @@ add_library(${LIB_OBJ} OBJECT add_dependencies(onemkl_backend_libs_dft ${LIB_NAME}) target_include_directories(${LIB_OBJ} - PRIVATE ${PROJECT_SOURCE_DIR}/include - ${PROJECT_SOURCE_DIR}/src + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_NAME} + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) + +target_include_directories(${LIB_OBJ} + PRIVATE ${PROJECT_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/bin ${ONEMKL_GENERATED_INCLUDE_PATH} ) diff --git a/src/dft/backends/mklgpu/CMakeLists.txt b/src/dft/backends/mklgpu/CMakeLists.txt index e7b863ad3..7e88a23d9 100644 --- a/src/dft/backends/mklgpu/CMakeLists.txt +++ b/src/dft/backends/mklgpu/CMakeLists.txt @@ -33,8 +33,13 @@ add_library(${LIB_OBJ} OBJECT add_dependencies(onemkl_backend_libs_dft ${LIB_NAME}) target_include_directories(${LIB_OBJ} - PRIVATE ${PROJECT_SOURCE_DIR}/include - ${PROJECT_SOURCE_DIR}/src + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_NAME} + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_OBJ} + PRIVATE ${PROJECT_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/bin ${ONEMKL_GENERATED_INCLUDE_PATH} ) diff --git a/src/dft/backends/portfft/CMakeLists.txt b/src/dft/backends/portfft/CMakeLists.txt index fe9f8aeb9..50e4d30d1 100644 --- a/src/dft/backends/portfft/CMakeLists.txt +++ b/src/dft/backends/portfft/CMakeLists.txt @@ -91,8 +91,13 @@ endif() target_link_libraries(${LIB_OBJ} PRIVATE onemkl_warnings) target_include_directories(${LIB_OBJ} - PRIVATE ${PROJECT_SOURCE_DIR}/include - ${PROJECT_SOURCE_DIR}/src + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_NAME} + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_OBJ} + PRIVATE ${PROJECT_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/bin ) diff --git a/src/dft/backends/rocfft/CMakeLists.txt b/src/dft/backends/rocfft/CMakeLists.txt index 32581208a..1380c8f0a 100644 --- a/src/dft/backends/rocfft/CMakeLists.txt +++ b/src/dft/backends/rocfft/CMakeLists.txt @@ -32,8 +32,13 @@ add_library(${LIB_OBJ} OBJECT add_dependencies(onemkl_backend_libs_dft ${LIB_NAME}) target_include_directories(${LIB_OBJ} - PRIVATE ${PROJECT_SOURCE_DIR}/include - ${PROJECT_SOURCE_DIR}/src + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_NAME} + PUBLIC ${ONEMKL_INTERFACE_INCLUDE_DIRS} +) +target_include_directories(${LIB_OBJ} + PRIVATE ${PROJECT_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/bin ${ONEMKL_GENERATED_INCLUDE_PATH} )