Skip to content

Commit fb47d1c

Browse files
committed
cmake: move dependencies to headers instead of module
we now export eigen and cholmod correctly
1 parent bb7eacd commit fb47d1c

1 file changed

Lines changed: 17 additions & 12 deletions

File tree

CMakeLists.txt

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ if(BUILD_WITH_CHOLMOD_SUPPORT)
6464
jrl_find_package(CHOLMOD CONFIG REQUIRED)
6565
endif()
6666

67-
if(BUILD_WITH_ACCELERATE_SUPPORT AND APPLE)
67+
if(BUILD_WITH_ACCELERATE_SUPPORT)
6868
jrl_find_package(Accelerate REQUIRED)
6969
endif()
7070

@@ -165,6 +165,21 @@ target_include_directories(
165165
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
166166
)
167167

168+
target_link_libraries(
169+
nanoeigenpy_headers
170+
INTERFACE
171+
Eigen3::Eigen
172+
$<$<BOOL:${BUILD_WITH_CHOLMOD_SUPPORT}>:SuiteSparse::CHOLMOD>
173+
$<$<BOOL:${BUILD_WITH_ACCELERATE_SUPPORT}>:Accelerate::Accelerate>
174+
)
175+
176+
target_compile_definitions(
177+
nanoeigenpy_headers
178+
INTERFACE
179+
$<$<BOOL:${BUILD_WITH_CHOLMOD_SUPPORT}>:NANOEIGENPY_HAS_CHOLMOD>
180+
$<$<BOOL:${BUILD_WITH_ACCELERATE_SUPPORT}>:NANOEIGENPY_HAS_ACCELERATE>
181+
)
182+
168183
set(nanoeigenpy_SOURCES src/module.cpp)
169184

170185
nanobind_add_module(nanoeigenpy
@@ -180,17 +195,7 @@ jrl_target_generate_warning_header(nanoeigenpy PRIVATE)
180195
jrl_target_generate_deprecated_header(nanoeigenpy PRIVATE)
181196
jrl_check_python_module_name(nanoeigenpy)
182197

183-
target_link_libraries(nanoeigenpy PRIVATE nanoeigenpy_headers Eigen3::Eigen)
184-
185-
if(BUILD_WITH_CHOLMOD_SUPPORT)
186-
target_link_libraries(nanoeigenpy PRIVATE SuiteSparse::CHOLMOD)
187-
target_compile_definitions(nanoeigenpy PRIVATE NANOEIGENPY_HAS_CHOLMOD)
188-
endif()
189-
190-
if(BUILD_WITH_ACCELERATE_SUPPORT AND APPLE)
191-
target_link_libraries(nanoeigenpy PRIVATE Accelerate::Accelerate)
192-
target_compile_definitions(nanoeigenpy PRIVATE NANOEIGENPY_HAS_ACCELERATE)
193-
endif()
198+
target_link_libraries(nanoeigenpy PUBLIC nanoeigenpy_headers)
194199

195200
# Stub generation requires typing-extensions
196201
# ROS Humble ships an incompatible typing-extensions with python3.10

0 commit comments

Comments
 (0)