From 71a50bb34aa7fbd652b12e213b034c2690ffd368 Mon Sep 17 00:00:00 2001 From: fenglc89 Date: Wed, 8 May 2019 17:40:56 +0800 Subject: [PATCH] cmake install --- CMakeLists.txt | 16 ++++++++++++++++ cmake/config.cmake.in | 5 +++++ 2 files changed, 21 insertions(+) create mode 100644 cmake/config.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 648c6e8..d538b50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,3 +32,19 @@ if(NOT hasParent) add_subdirectory(test) add_subdirectory(examples) endif() + +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) + +install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}) +set(PACKAGECONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + +configure_package_config_file(cmake/config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION ${PACKAGECONFIG_INSTALL_DIR} + PATH_VARS INCLUDE_INSTALL_DIR) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + DESTINATION ${PACKAGECONFIG_INSTALL_DIR}) diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in new file mode 100644 index 0000000..3d25f9f --- /dev/null +++ b/cmake/config.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +set_and_check(ghcfilesystem_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@") + +check_required_components(ghcfilesystem)