@@ -46,7 +46,7 @@ project(rsp-cmake-scripts
4646 VERSION "${version_VERSION} "
4747 DESCRIPTION "A collection of CMake scripts for C++ projects"
4848 HOMEPAGE_URL "https://github.com/rsps/cmake-scripts"
49- LANGUAGES NONE
49+ LANGUAGES "CXX"
5050)
5151
5252# Ensure parent project has modules and other properties available.
@@ -119,57 +119,45 @@ endif ()
119119# TODO: Package Configuration
120120# -------------------------------------------------------------------------------------------------------------- #
121121
122- include (CMakePackageConfigHelpers)
123-
124- # Introduce variables:
125- # * CMAKE_INSTALL_LIBDIR
126- # * CMAKE_INSTALL_BINDIR
127- # * CMAKE_INSTALL_INCLUDEDIR
128122include (GNUInstallDirs)
123+ include (CMakePackageConfigHelpers)
129124
130- # Layout. This works for all platforms:
131- # * <prefix>/lib*/cmake/<PROJECT-NAME>
132- # * <prefix>/lib*/
133- # * <prefix>/include/
134- set (config_install_dir "${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} " )
135-
136- set (generated_dir "${CMAKE_CURRENT_BINARY_DIR} " )
137-
138- # Configuration
139- # set(version_config "${generated_dir}/${PROJECT_NAME}-version.cmake")
140- set (project_config "${generated_dir} /${PROJECT_NAME} -config.cmake" )
141-
142- #configure_package_config_file(
143- # "cmake/rsp-cmake-scripts-config.cmake.in"
144- # "${CMAKE_CURRENT_BINARY_DIR}/cmake/rsp/rsp-cmake-scripts-config.cmake"
125+ #install(
126+ # TARGETS "${PROJECT_NAME}"
127+ # EXPORT "${PROJECT_NAME}-export"
128+ ## INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
129+ ## RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
130+ ## LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
131+ ## ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
132+ #)
145133#
146- # INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/rsp"
147- # #PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR
134+ ## Export cmake targets
135+ #install(
136+ # EXPORT "${PROJECT_NAME}-export"
137+ # FILE "${PROJECT_NAME}-targets.cmake"
138+ # NAMESPACE "${PROJECT_NAME}::"
139+ # DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
148140#)
149141
150- configure_package_config_file(
151- "cmake/${PROJECT_NAME} -config.cmake.in"
152- "${project_config} "
153- INSTALL_DESTINATION "${config_install_dir} "
142+ # Write config-version
143+ write_basic_package_version_file(
144+ ${PROJECT_NAME} -config-version .cmake
145+ VERSION "${PROJECT_VERSION} "
146+ COMPATIBILITY SameMinorVersion
154147)
155148
156- # TODO: CMake Version file
157-
158- #install(
159- # FILES
160- # "${CMAKE_CURRENT_BINARY_DIR}/cmake/rsp/rsp-cmake-scripts-config.cmake"
161- # # "${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake"
162- # DESTINATION
163- # "${CMAKE_INSTALL_LIBDIR}/cmake/rsp"
164- #)
149+ # Configure installable cmake config
150+ configure_package_config_file(
151+ "${PROJECT_SOURCE_DIR} /cmake/${PROJECT_NAME} -config.cmake.in"
152+ "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -config.cmake"
153+ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/rsp/${PROJECT_NAME} "
154+ NO_SET_AND_CHECK_MACRO
155+ )
165156
166- # Config
167- # * <prefix>/lib/cmake/Foo/FooConfig.cmake
168- # * <prefix>/lib/cmake/Foo/FooConfigVersion.cmake
157+ # Install config-version and config
169158install (
170159 FILES
171- "${project_config} "
172- #"${version_config}"
173- DESTINATION
174- "${config_install_dir} "
160+ "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -config.cmake"
161+ "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -config-version.cmake"
162+ DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/rsp/${PROJECT_NAME} "
175163)
0 commit comments