Newer
Older
if(${CMAKE_VERSION} VERSION_LESS "3.23.0")
# Old way
# Define exports
install(TARGETS bimap
EXPORT ojl_bimapExports
)
# Install header directory
# Don't install bijection.hpp yet
install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ojl
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN
*bimap.hpp
#*bijection.hpp
)
else()
# Define export set bimapTargets, install headers
install(TARGETS bimap
EXPORT ojl_bimapExports
FILE_SET HEADERS
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/ojl
)
endif()
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Generate the export set file
install(EXPORT ojl_bimapExports
FILE ojl_bimapExports.cmake
NAMESPACE ojl::
DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake/ojl_bimap-${PROJECT_VERSION}
)
#I'd like for these paths to be cmake/ojl/bimap-version, but CMake won't find that
#Generate the config
include(CMakePackageConfigHelpers)
# Generate the CMake Config file
configure_package_config_file(
"${PROJECT_SOURCE_DIR}/cmake/ojl_bimapConfig.cmake.in"
"${PROJECT_BINARY_DIR}/ojl_bimapConfig.cmake"
INSTALL_DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake/ojl_bimap-${PROJECT_VERSION}
)
# Generate a file that checks the version
write_basic_package_version_file(
"ojl_bimapConfigVersion.cmake"
VERSION ${bimap_VERSION}
COMPATIBILITY SameMajorVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/ojl_bimapConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/ojl_bimapConfigVersion.cmake"
DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake/ojl_bimap-${PROJECT_VERSION}
)