diff options
author | Alex <leha-bot@users.noreply.github.com> | 2020-04-26 14:37:54 +0300 |
---|---|---|
committer | leha-bot <leha-bot@users.noreply.github.com> | 2020-04-26 18:09:49 +0300 |
commit | 879335cebfa5a5c79f2d3bb987e565f25b14aee9 (patch) | |
tree | 802b1c65d6769e2907244a92ebe60621c341427d /CMakeLists.txt | |
parent | 1999b48a519196711f0d03af3b7eedd49fcc6db3 (diff) |
CMakeLists: add VERSION to project() and package
So the library consumers via find_package(Microsoft.GSL 3.0.2) could determine the actual library version.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a12c33..66b09e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.1.3...3.16) -project(GSL CXX) +project(GSL VERSION 3.0.2 LANGUAGES CXX) include(ExternalProject) find_package(Git) @@ -92,6 +92,18 @@ install( install(EXPORT Microsoft.GSLConfig NAMESPACE Microsoft.GSL:: DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Microsoft.GSL) export(TARGETS GSL NAMESPACE Microsoft.GSL:: FILE Microsoft.GSLConfig.cmake) +# Add find_package() versioning support. The version for +# generated Microsoft.GSLConfigVersion.cmake will be used from +# last project() command. The version's compatibility is set between all +# minor versions (as it was in prev. GSL releases). +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/Microsoft.GSLConfigVersion.cmake + COMPATIBILITY SameMajorVersion + ARCH_INDEPENDENT +) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Microsoft.GSLConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Microsoft.GSL) + # Add Microsoft.GSL::GSL alias for GSL so that dependents can be agnostic about # whether GSL was added via `add_subdirectory` or `find_package` add_library(Microsoft.GSL::GSL ALIAS GSL) |