Link to cephes from gtsam

release/4.3a0
Varun Agrawal 2023-12-28 09:31:08 -05:00
parent 3538488b28
commit 5481159f95
3 changed files with 51 additions and 0 deletions

View File

@ -72,6 +72,7 @@ include(cmake/HandleCCache.cmake) # ccache
include(cmake/HandleCPack.cmake) # CPack
include(cmake/HandleEigen.cmake) # Eigen3
include(cmake/HandleMetis.cmake) # metis
include(cmake/HandleCephes.cmake) # cephes
include(cmake/HandleMKL.cmake) # MKL
include(cmake/HandleOpenMP.cmake) # OpenMP
include(cmake/HandlePerfTools.cmake) # Google perftools

47
cmake/HandleCephes.cmake Normal file
View File

@ -0,0 +1,47 @@
# ##############################################################################
# Cephes library
# For both system or bundle version, a cmake target "cephes-gtsam-if" is defined
# (interface library)
option(
GTSAM_USE_SYSTEM_CEPHES
"Find and use system-installed cephes. If 'off', use the one bundled with GTSAM"
OFF)
if(GTSAM_USE_SYSTEM_CEPHES)
# # Debian package: libmetis-dev
# find_path(METIS_INCLUDE_DIR metis.h REQUIRED) find_library(METIS_LIBRARY
# metis REQUIRED)
# if(METIS_INCLUDE_DIR AND METIS_LIBRARY) mark_as_advanced(METIS_INCLUDE_DIR)
# mark_as_advanced(METIS_LIBRARY)
# add_library(cephes-gtsam-if INTERFACE)
# target_include_directories(cephes-gtsam-if BEFORE INTERFACE
# ${METIS_INCLUDE_DIR} # gtsam_unstable/partition/FindSeparator-inl.h uses
# internal metislib.h API # via extern "C"
# $<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/libmetis>
# $<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/GKlib> )
# target_link_libraries(cephes-gtsam-if INTERFACE ${METIS_LIBRARY}) endif()
else()
# Bundled version:
add_subdirectory(${GTSAM_SOURCE_DIR}/gtsam/3rdparty/cephes)
list(APPEND GTSAM_EXPORTED_TARGETS cephes-gtsam)
set(GTSAM_EXPORTED_TARGETS
"${GTSAM_EXPORTED_TARGETS}"
PARENT_SCOPE)
add_library(cephes-gtsam-if INTERFACE)
target_link_libraries(cephes-gtsam-if INTERFACE cephes-gtsam)
endif()
list(APPEND GTSAM_EXPORTED_TARGETS cephes-gtsam-if)
install(
TARGETS cephes-gtsam-if
EXPORT GTSAM-exports
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

View File

@ -110,6 +110,9 @@ if(GTSAM_SUPPORT_NESTED_DISSECTION)
list(APPEND GTSAM_ADDITIONAL_LIBRARIES metis-gtsam-if)
endif()
# Link to cephes library
list(APPEND GTSAM_ADDITIONAL_LIBRARIES cephes-gtsam-if)
# Versions
set(gtsam_version ${GTSAM_VERSION_STRING})
set(gtsam_soversion ${GTSAM_VERSION_MAJOR})