Skip to content

Commit 5e322d1

Browse files
committed
fix(cmake): add standalone package config for vix_utils (export + find_package support)
1 parent 7a69f06 commit 5e322d1

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ project(vix_utils VERSION 1.5.2 LANGUAGES CXX)
3636

3737
include(GNUInstallDirs)
3838
include(CheckCXXCompilerFlag)
39+
include(CMakePackageConfigHelpers)
3940

4041
# Options
4142
option(VIX_STRICT "Treat warnings as errors" OFF)
@@ -226,6 +227,30 @@ endif()
226227
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
227228
FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h")
228229

230+
configure_package_config_file(
231+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/vix_utilsConfig.cmake.in"
232+
"${CMAKE_CURRENT_BINARY_DIR}/vix_utilsConfig.cmake"
233+
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/vix_utils"
234+
)
235+
236+
write_basic_package_version_file(
237+
"${CMAKE_CURRENT_BINARY_DIR}/vix_utilsConfigVersion.cmake"
238+
VERSION ${PROJECT_VERSION}
239+
COMPATIBILITY SameMajorVersion
240+
)
241+
242+
install(FILES
243+
"${CMAKE_CURRENT_BINARY_DIR}/vix_utilsConfig.cmake"
244+
"${CMAKE_CURRENT_BINARY_DIR}/vix_utilsConfigVersion.cmake"
245+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/vix_utils"
246+
)
247+
248+
install(EXPORT VixTargets
249+
FILE vix_utilsTargets.cmake
250+
NAMESPACE vix::
251+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/vix_utils"
252+
)
253+
229254
# Examples (opt-in)
230255
if (VIX_UTILS_BUILD_EXAMPLES AND NOT VIX_HEADER_ONLY)
231256
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

0 commit comments

Comments
 (0)