1
- # The target of the library PENF is exported
2
- # as PENF::PENF to a package config file for PENF
1
+ # The target of the PENF library is exported
2
+ # as PENF::PENF to a package configuration file for this library
3
3
#
4
4
# usage:
5
5
# find_package(PENF)
@@ -48,16 +48,18 @@ endif()
48
48
include (GNUInstallDirs)
49
49
set (project_config "${PROJECT_NAME} -config.cmake" )
50
50
set (cmake_files_dir "${CMAKE_CURRENT_BINARY_DIR} /CMakeFiles" )
51
- set (config_install_dir "${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} " )
52
- set (config_build_dir "${CMAKE_CURRENT_BINARY_DIR} /${config_install_dir} " )
51
+ set (default_config_install_dir "${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} " )
52
+ set (config_build_dir "${CMAKE_CURRENT_BINARY_DIR} /${default_config_install_dir} " )
53
+ set (${PROJECT_NAME} _INSTALL_CMAKEDIR ${default_config_install_dir} CACHE PATH "Path to the cmake files for Project ${PROJECT_NAME} " )
53
54
54
55
# export targets for install
55
56
install (EXPORT ${TARGETS_EXPORT_NAME}
56
57
NAMESPACE
57
58
${NAMESPACE}
58
59
DESTINATION
59
- ${config_install_dir}
60
- COMPONENT Development
60
+ ${${PROJECT_NAME} _INSTALL_CMAKEDIR}
61
+ COMPONENT
62
+ ${PROJECT_NAME} _Development
61
63
)
62
64
63
65
# export targets into build
@@ -69,20 +71,24 @@ export(EXPORT ${TARGETS_EXPORT_NAME}
69
71
)
70
72
71
73
# create package config
72
- # Variables needed by PackageConfig.cmake.in: PROJECT_NAME, TARGETS_EXPORT_NAME,
73
- # EXPORTED_TARGET
74
-
75
- set (EXPORTED_TARGET PENF::PENF)
74
+ # Variables needed by PackageConfig.cmake.in: PROJECT_NAME, TARGETS_EXPORT_NAME
76
75
77
76
include (CMakePackageConfigHelpers)
78
77
configure_package_config_file(cmake/PackageConfig.cmake.in ${cmake_files_dir} /${project_config}
79
- INSTALL_DESTINATION ${config_install_dir}
80
- )
81
- install (FILES ${cmake_files_dir} /${project_config}
82
- DESTINATION ${config_install_dir}
78
+ INSTALL_DESTINATION ${${PROJECT_NAME} _INSTALL_CMAKEDIR}
83
79
)
84
80
85
81
configure_package_config_file(cmake/PackageConfig.cmake.in ${config_build_dir} /${project_config}
86
82
INSTALL_DESTINATION ${config_build_dir}
87
83
INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}
88
84
)
85
+
86
+ write_basic_package_version_file(
87
+ ${PROJECT_NAME} ConfigVersion.cmake
88
+ VERSION ${PROJECT_VERSION}
89
+ COMPATIBILITY SameMajorVersion
90
+ )
91
+
92
+ install (FILES ${cmake_files_dir} /${project_config} ${PROJECT_NAME} ConfigVersion.cmake
93
+ DESTINATION ${${PROJECT_NAME} _INSTALL_CMAKEDIR}
94
+ )
0 commit comments