|
@@ -104,16 +104,17 @@ if(HUNTER_ENABLED)
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
# Eigen
|
|
# Eigen
|
|
|
-if(TARGET Eigen3::Eigen)
|
|
|
|
|
- # If an imported target already exists, use it
|
|
|
|
|
- target_link_libraries(igl_common INTERFACE Eigen3::Eigen)
|
|
|
|
|
-else()
|
|
|
|
|
|
|
+if(NOT TARGET Eigen3::Eigen)
|
|
|
igl_download_eigen()
|
|
igl_download_eigen()
|
|
|
- target_include_directories(igl_common SYSTEM INTERFACE
|
|
|
|
|
|
|
+ add_library(igl_eigen INTERFACE)
|
|
|
|
|
+ target_include_directories(igl_eigen SYSTEM INTERFACE
|
|
|
$<BUILD_INTERFACE:${LIBIGL_EXTERNAL}/eigen>
|
|
$<BUILD_INTERFACE:${LIBIGL_EXTERNAL}/eigen>
|
|
|
$<INSTALL_INTERFACE:include>
|
|
$<INSTALL_INTERFACE:include>
|
|
|
)
|
|
)
|
|
|
|
|
+ set_property(TARGET igl_eigen PROPERTY EXPORT_NAME Eigen3::Eigen)
|
|
|
|
|
+ add_library(Eigen3::Eigen ALIAS igl_eigen)
|
|
|
endif()
|
|
endif()
|
|
|
|
|
+target_link_libraries(igl_common INTERFACE Eigen3::Eigen)
|
|
|
|
|
|
|
|
# C++11 Thread library
|
|
# C++11 Thread library
|
|
|
find_package(Threads REQUIRED)
|
|
find_package(Threads REQUIRED)
|
|
@@ -500,21 +501,30 @@ endfunction()
|
|
|
include(GNUInstallDirs)
|
|
include(GNUInstallDirs)
|
|
|
include(CMakePackageConfigHelpers)
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
|
|
|
|
|
|
+if(TARGET igl_eigen)
|
|
|
|
|
+ set(IGL_EIGEN igl_eigen)
|
|
|
|
|
+else()
|
|
|
|
|
+ set(IGL_EIGEN)
|
|
|
|
|
+ message(WARNING "Trying to export igl targets while using an imported target for Eigen.")
|
|
|
|
|
+endif()
|
|
|
|
|
+
|
|
|
# Install and export core library
|
|
# Install and export core library
|
|
|
install(
|
|
install(
|
|
|
- TARGETS
|
|
|
|
|
- igl
|
|
|
|
|
- igl_common
|
|
|
|
|
- EXPORT igl-export
|
|
|
|
|
- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
|
|
|
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
|
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
|
|
+ TARGETS
|
|
|
|
|
+ igl
|
|
|
|
|
+ igl_common
|
|
|
|
|
+ ${IGL_EIGEN}
|
|
|
|
|
+ EXPORT igl-export
|
|
|
|
|
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
|
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
)
|
|
)
|
|
|
export(
|
|
export(
|
|
|
TARGETS
|
|
TARGETS
|
|
|
igl
|
|
igl
|
|
|
igl_common
|
|
igl_common
|
|
|
|
|
+ ${IGL_EIGEN}
|
|
|
FILE libigl-export.cmake
|
|
FILE libigl-export.cmake
|
|
|
)
|
|
)
|
|
|
|
|
|