Skip to content

Commit

Permalink
Make CMake install arch independent (nonstd-lite issue 32)
Browse files Browse the repository at this point in the history
  • Loading branch information
martinmoene committed Mar 24, 2019
1 parent d6f5dd0 commit f2d862e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
7 changes: 3 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,9 @@ configure_package_config_file(
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_folder}"
)

write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${package_config_version}"
VERSION ${package_version}
COMPATIBILITY SameMajorVersion
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/${package_name}-config-version.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/${package_config_version}" @ONLY
)

# Installation:
Expand Down
24 changes: 24 additions & 0 deletions cmake/value_ptr-lite-config-version.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Adapted from write_basic_package_version_file(... COMPATIBILITY SameMajorVersion) output
# ARCH_INDEPENDENT is only present in cmake 3.14 and onwards

set( PACKAGE_VERSION "@package_version@" )

if( PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION )
set( PACKAGE_VERSION_COMPATIBLE FALSE )
else()
if( "@package_version@" MATCHES "^([0-9]+)\\." )
set( CVF_VERSION_MAJOR "${CMAKE_MATCH_1}" )
else()
set( CVF_VERSION_MAJOR "@package_version@" )
endif()

if( PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR )
set( PACKAGE_VERSION_COMPATIBLE TRUE )
else()
set( PACKAGE_VERSION_COMPATIBLE FALSE )
endif()

if( PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION )
set( PACKAGE_VERSION_EXACT TRUE )
endif()
endif()

0 comments on commit f2d862e

Please sign in to comment.