mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-01-18 17:31:19 +01:00
Added versioning for shared libraries.
libeigen/eigen!2080 Co-authored-by: Ulysses Apokin <ulysses@altlinux.org>
This commit is contained in:
committed by
Antonio Sánchez
parent
db90c4939c
commit
a73501cc76
@@ -101,19 +101,19 @@ endif()
|
|||||||
file(READ "${PROJECT_SOURCE_DIR}/Eigen/Version" _eigen_version_header)
|
file(READ "${PROJECT_SOURCE_DIR}/Eigen/Version" _eigen_version_header)
|
||||||
if (NOT DEFINED EIGEN_WORLD_VERSION)
|
if (NOT DEFINED EIGEN_WORLD_VERSION)
|
||||||
string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen_world_version_match "${_eigen_version_header}")
|
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()
|
endif()
|
||||||
if (NOT DEFINED EIGEN_MAJOR_VERSION)
|
if (NOT DEFINED EIGEN_MAJOR_VERSION)
|
||||||
string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen_major_version_match "${_eigen_version_header}")
|
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()
|
endif()
|
||||||
if (NOT DEFINED EIGEN_MINOR_VERSION)
|
if (NOT DEFINED EIGEN_MINOR_VERSION)
|
||||||
string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen_minor_version_match "${_eigen_version_header}")
|
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()
|
endif()
|
||||||
if (NOT DEFINED EIGEN_PATCH_VERSION)
|
if (NOT DEFINED EIGEN_PATCH_VERSION)
|
||||||
string(REGEX MATCH "define[ \t]+EIGEN_PATCH_VERSION[ \t]+([0-9]+)" _eigen_patch_version_match "${_eigen_version_header}")
|
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()
|
endif()
|
||||||
if (NOT DEFINED EIGEN_PRERELEASE_VERSION)
|
if (NOT DEFINED EIGEN_PRERELEASE_VERSION)
|
||||||
set(EIGEN_PRERELEASE_VERSION "dev")
|
set(EIGEN_PRERELEASE_VERSION "dev")
|
||||||
@@ -135,18 +135,18 @@ endif()
|
|||||||
if (NOT DEFINED EIGEN_BUILD_VERSION AND DEFINED EIGEN_GIT_REVNUM)
|
if (NOT DEFINED EIGEN_BUILD_VERSION AND DEFINED EIGEN_GIT_REVNUM)
|
||||||
string(SUBSTRING "${EIGEN_GIT_REVNUM}" 0 8 EIGEN_BUILD_VERSION)
|
string(SUBSTRING "${EIGEN_GIT_REVNUM}" 0 8 EIGEN_BUILD_VERSION)
|
||||||
else()
|
else()
|
||||||
set(EIGEN_BUILD_VERSION "")
|
set(EIGEN_BUILD_VERSION "" CACHE STRING "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# The EIGEN_VERSION_NUMBER must be of the form <major.minor.patch>.
|
# The EIGEN_VERSION_NUMBER must be of the form <major.minor.patch>.
|
||||||
# The EIGEN_VERSION_STRING can contain the preprelease/build strings.
|
# 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_NUMBER "${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION}.${EIGEN_PATCH_VERSION}" CACHE STRING "")
|
||||||
set(EIGEN_VERSION_STRING "${EIGEN_VERSION_NUMBER}")
|
set(EIGEN_VERSION_STRING "${EIGEN_VERSION_NUMBER}" CACHE STRING "")
|
||||||
if (NOT "x${EIGEN_PRERELEASE_VERSION}" STREQUAL "x")
|
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()
|
endif()
|
||||||
if (NOT "x${EIGEN_BUILD_VERSION}" STREQUAL "x")
|
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()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ list(APPEND EIGEN_BLAS_TARGETS eigen_blas_static)
|
|||||||
if (EIGEN_BUILD_SHARED_LIBS)
|
if (EIGEN_BUILD_SHARED_LIBS)
|
||||||
add_library(eigen_blas SHARED ${EigenBlas_SRCS} "eigen_blas.def")
|
add_library(eigen_blas SHARED ${EigenBlas_SRCS} "eigen_blas.def")
|
||||||
target_compile_definitions(eigen_blas PUBLIC "EIGEN_BLAS_BUILD_DLL")
|
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)
|
list(APPEND EIGEN_BLAS_TARGETS eigen_blas)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,9 @@ if (EIGEN_BUILD_SHARED_LIBS)
|
|||||||
# Build LAPACK but link BLAS.
|
# Build LAPACK but link BLAS.
|
||||||
target_compile_definitions(eigen_lapack PUBLIC "EIGEN_BLAS_LINK_DLL" "EIGEN_LAPACK_BUILD_DLL")
|
target_compile_definitions(eigen_lapack PUBLIC "EIGEN_BLAS_LINK_DLL" "EIGEN_LAPACK_BUILD_DLL")
|
||||||
target_link_libraries(eigen_lapack eigen_blas)
|
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)
|
list(APPEND EIGEN_LAPACK_TARGETS eigen_lapack)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user