Skip to content

Commit 2c9dbc3

Browse files
committed
Merge branch 'upstream-Eigen3' into eigen_update
# By Eigen Upstream * upstream-Eigen3: Eigen3 2026-03-12 (b581628e)
2 parents ce78651 + e162375 commit 2c9dbc3

1 file changed

Lines changed: 4 additions & 37 deletions

File tree

Modules/ThirdParty/Eigen3/src/itkeigen/CMakeLists.txt

Lines changed: 4 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,7 @@ install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
882882
# Install files (used for both eigen_external and eigen_internal)
883883
install(
884884
DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/"
885-
DESTINATION "${INCLUDE_INSTALL_DIR}/itkeigen/Eigen"
885+
DESTINATION "${ITK3P_INSTALL_INCLUDE_DIR}/itkeigen/Eigen"
886886
PATTERN "*.txt" EXCLUDE)
887887

888888
######################### eigen_internal #####################################
@@ -896,8 +896,6 @@ add_library (ITKInternalEigen3::Eigen ALIAS eigen_internal)
896896
# This would wrongly enforce EIGEN_MPL2_ONLY to other libraries using Eigen.
897897
# We wrap this definition in ITK_USE_EIGEN_MPL2_ONLY, and only enabling it internally in the dashboards and CI,
898898
# to avoid introducing GPL code from Eigen3 internally in ITK.
899-
option(ITK_USE_EIGEN_MPL2_ONLY "Set compile definition EIGEN_MPL2_ONLY for ITKInternalEigen3." OFF)
900-
mark_as_advanced(ITK_USE_EIGEN_MPL2_ONLY)
901899

902900
if(ITK_USE_EIGEN_MPL2_ONLY)
903901
target_compile_definitions (eigen_internal INTERFACE "EIGEN_MPL2_ONLY")
@@ -907,41 +905,10 @@ endif()
907905
# #include <itkeigen/Eigen/x>
908906
# INSTALL: headers require pre-prend itkeigen/Eigen/X.
909907
target_include_directories (eigen_internal SYSTEM INTERFACE
910-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
911-
# $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
912-
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
908+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
909+
"$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${ITK3P_INSTALL_INCLUDE_DIR}/itkeigen>;"
913910
)
914911

915912
# Export as title case Eigen
916-
set_target_properties (eigen_internal PROPERTIES EXPORT_NAME Eigen)
917-
install (TARGETS eigen_internal EXPORT ITKInternalEigen3Targets)
913+
install (TARGETS eigen_internal EXPORT ${ITK3P_INSTALL_EXPORT_NAME})
918914

919-
set(EIGEN3_TARGETS_FILE ITKInternalEigen3Targets.cmake)
920-
configure_package_config_file (
921-
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3Config.cmake.in
922-
${CMAKE_CURRENT_BINARY_DIR}/ITKInternalEigen3Config.cmake
923-
INSTALL_DESTINATION ${CMAKEPACKAGE_INSTALL_DIR}
924-
NO_CHECK_REQUIRED_COMPONENTS_MACRO # Eigen does not provide components
925-
)
926-
# Remove CMAKE_SIZEOF_VOID_P from Eigen3ConfigVersion.cmake since Eigen does
927-
# not depend on architecture specific settings or libraries. More
928-
# specifically, an Eigen3Config.cmake generated from a 64 bit target can be
929-
# used for 32 bit targets as well (and vice versa).
930-
set (_Eigen3_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P})
931-
unset (CMAKE_SIZEOF_VOID_P)
932-
write_basic_package_version_file (ITKInternalEigen3ConfigVersion.cmake
933-
VERSION ${EIGEN_VERSION_NUMBER}
934-
COMPATIBILITY SameMajorVersion)
935-
set (CMAKE_SIZEOF_VOID_P ${_Eigen3_CMAKE_SIZEOF_VOID_P})
936-
# The Eigen target will be located in the Eigen3 namespace. Other CMake
937-
# targets can refer to it using Eigen3::Eigen.
938-
export (TARGETS eigen_internal NAMESPACE ITKInternalEigen3:: FILE ITKInternalEigen3Targets.cmake)
939-
install (EXPORT ITKInternalEigen3Targets NAMESPACE ITKInternalEigen3:: DESTINATION ${CMAKEPACKAGE_INSTALL_DIR})
940-
# Files already installed in eigen_external
941-
# install(
942-
# DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/"
943-
# DESTINATION "${INCLUDE_INSTALL_DIR}/itkeigen/Eigen"
944-
# PATTERN "*.txt" EXCLUDE)
945-
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/ITKInternalEigen3Config.cmake
946-
${CMAKE_CURRENT_BINARY_DIR}/ITKInternalEigen3ConfigVersion.cmake
947-
DESTINATION ${CMAKEPACKAGE_INSTALL_DIR} )

0 commit comments

Comments
 (0)