Skip to content

Commit e4ad80e

Browse files
authored
Merge pull request #449 from Wentzell/master
Change finufft targets to provide proper install interface include dirs
2 parents 7535a82 + 604725e commit e4ad80e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ function(set_finufft_options target)
128128
target_compile_options(${target} PRIVATE $<$<CONFIG:Release,RelWithDebInfo>:-fcx-limited-range>)
129129
endif ()
130130

131-
target_include_directories(${target} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
131+
target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
132+
target_include_directories(${target} SYSTEM INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)
132133
if (FINUFFT_USE_OPENMP)
133134
target_link_libraries(${target} PRIVATE OpenMP::OpenMP_CXX)
134135
# there are issues on windows with OpenMP and CMake, so we need to manually add the flags
@@ -192,7 +193,8 @@ if(FINUFFT_USE_CPU)
192193
if(NOT WIN32)
193194
target_link_libraries(finufft PUBLIC m)
194195
endif()
195-
target_include_directories(finufft PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
196+
target_include_directories(finufft PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
197+
target_include_directories(finufft SYSTEM INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)
196198

197199
add_library(finufft_static STATIC src/utils_precindep.cpp contrib/legendre_rule_fast.cpp)
198200
set_finufft_options(finufft_static)
@@ -201,7 +203,8 @@ if(FINUFFT_USE_CPU)
201203
if(NOT WIN32)
202204
target_link_libraries(finufft_static PUBLIC m)
203205
endif()
204-
target_include_directories(finufft_static PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
206+
target_include_directories(finufft_static PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
207+
target_include_directories(finufft_static SYSTEM INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)
205208

206209
file(GLOB FINUFFT_PUBLIC_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/include/finufft*.h")
207210
set_target_properties(finufft PROPERTIES PUBLIC_HEADER "${FINUFFT_PUBLIC_HEADERS}")

0 commit comments

Comments
 (0)