diff --git a/CMakeLists.txt b/CMakeLists.txt index 44cf5fe15445dcc8b2b39d792f7d5b227da48852..b9215f15ec41001c7caacaf7cfa62fa22707a5e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,19 +101,19 @@ endif() file(READ "${PROJECT_SOURCE_DIR}/Eigen/Version" _eigen_version_header) if (NOT DEFINED EIGEN_WORLD_VERSION) string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen_world_version_match "${_eigen_version_header}") - set(EIGEN_WORLD_VERSION "${CMAKE_MATCH_1}") + set(EIGEN_WORLD_VERSION "${CMAKE_MATCH_1}" CACHE STRING "") endif() if (NOT DEFINED EIGEN_MAJOR_VERSION) string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen_major_version_match "${_eigen_version_header}") - set(EIGEN_MAJOR_VERSION "${CMAKE_MATCH_1}") + set(EIGEN_MAJOR_VERSION "${CMAKE_MATCH_1}" CACHE STRING "") endif() if (NOT DEFINED EIGEN_MINOR_VERSION) string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen_minor_version_match "${_eigen_version_header}") - set(EIGEN_MINOR_VERSION "${CMAKE_MATCH_1}") + set(EIGEN_MINOR_VERSION "${CMAKE_MATCH_1}" CACHE STRING "") endif() if (NOT DEFINED EIGEN_PATCH_VERSION) string(REGEX MATCH "define[ \t]+EIGEN_PATCH_VERSION[ \t]+([0-9]+)" _eigen_patch_version_match "${_eigen_version_header}") - set(EIGEN_PATCH_VERSION "${CMAKE_MATCH_1}") + set(EIGEN_PATCH_VERSION "${CMAKE_MATCH_1}" CACHE STRING "") endif() if (NOT DEFINED EIGEN_PRERELEASE_VERSION) set(EIGEN_PRERELEASE_VERSION "dev") @@ -135,18 +135,18 @@ endif() if (NOT DEFINED EIGEN_BUILD_VERSION AND DEFINED EIGEN_GIT_REVNUM) string(SUBSTRING "${EIGEN_GIT_REVNUM}" 0 8 EIGEN_BUILD_VERSION) else() - set(EIGEN_BUILD_VERSION "") + set(EIGEN_BUILD_VERSION "" CACHE STRING "") endif() # The EIGEN_VERSION_NUMBER must be of the form . # The EIGEN_VERSION_STRING can contain the preprelease/build strings. -set(EIGEN_VERSION_NUMBER "${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION}.${EIGEN_PATCH_VERSION}") -set(EIGEN_VERSION_STRING "${EIGEN_VERSION_NUMBER}") +set(EIGEN_VERSION_NUMBER "${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION}.${EIGEN_PATCH_VERSION}" CACHE STRING "") +set(EIGEN_VERSION_STRING "${EIGEN_VERSION_NUMBER}" CACHE STRING "") if (NOT "x${EIGEN_PRERELEASE_VERSION}" STREQUAL "x") - set(EIGEN_VERSION_STRING "${EIGEN_VERSION_STRING}-${EIGEN_PRERELEASE_VERSION}") + set(EIGEN_VERSION_STRING "${EIGEN_VERSION_STRING}-${EIGEN_PRERELEASE_VERSION}" CACHE STRING "") endif() if (NOT "x${EIGEN_BUILD_VERSION}" STREQUAL "x") - set(EIGEN_VERSION_STRING "${EIGEN_VERSION_STRING}+${EIGEN_BUILD_VERSION}") + set(EIGEN_VERSION_STRING "${EIGEN_VERSION_STRING}+${EIGEN_BUILD_VERSION}" CACHE STRING "") endif() diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt index 45488d73d515991e5034938cdd6b2f2b71f0ed72..c8a28851b936a7dcf6fc58dc1946eb02b94f97a7 100644 --- a/blas/CMakeLists.txt +++ b/blas/CMakeLists.txt @@ -21,7 +21,9 @@ list(APPEND EIGEN_BLAS_TARGETS eigen_blas_static) if (EIGEN_BUILD_SHARED_LIBS) add_library(eigen_blas SHARED ${EigenBlas_SRCS} "eigen_blas.def") target_compile_definitions(eigen_blas PUBLIC "EIGEN_BLAS_BUILD_DLL") - set_target_properties(eigen_blas PROPERTIES CXX_VISIBILITY_PRESET hidden) + set_target_properties(eigen_blas PROPERTIES CXX_VISIBILITY_PRESET hidden + VERSION ${EIGEN_VERSION_NUMBER} + SOVERSION ${EIGEN_MAJOR_VERSION}) list(APPEND EIGEN_BLAS_TARGETS eigen_blas) endif() diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt index d837fff960558921a45e100b8f4a81b03c9a2900..51bb455160585480a82a2e57afd7277978c0f79a 100644 --- a/lapack/CMakeLists.txt +++ b/lapack/CMakeLists.txt @@ -110,7 +110,9 @@ if (EIGEN_BUILD_SHARED_LIBS) # Build LAPACK but link BLAS. target_compile_definitions(eigen_lapack PUBLIC "EIGEN_BLAS_LINK_DLL" "EIGEN_LAPACK_BUILD_DLL") target_link_libraries(eigen_lapack eigen_blas) - set_target_properties(eigen_lapack PROPERTIES CXX_VISIBILITY_PRESET hidden) + set_target_properties(eigen_lapack PROPERTIES CXX_VISIBILITY_PRESET hidden + VERSION ${EIGEN_VERSION_NUMBER} + SOVERSION ${EIGEN_MAJOR_VERSION}) list(APPEND EIGEN_LAPACK_TARGETS eigen_lapack) endif()