diff --git a/cmake/cprConfig.cmake.in b/cmake/cprConfig.cmake.in new file mode 100644 index 000000000..9c0bda5fa --- /dev/null +++ b/cmake/cprConfig.cmake.in @@ -0,0 +1,8 @@ +include(CMakeFindDependencyMacro) +@PACKAGE_INIT@ + +find_dependency(CURL REQUIRED) + +include(${CMAKE_CURRENT_LIST_DIR}/cprTargets.cmake) + +check_required_components(cpr) \ No newline at end of file diff --git a/cpr/CMakeLists.txt b/cpr/CMakeLists.txt index fd17b43b7..fe3e1d946 100644 --- a/cpr/CMakeLists.txt +++ b/cpr/CMakeLists.txt @@ -30,4 +30,37 @@ set_target_properties(cpr VERSION ${${PROJECT_NAME}_VERSION} SOVERSION ${${PROJECT_NAME}_VERSION_MAJOR}) -install(TARGETS cpr) +# Import GNU common install directory variables +include(GNUInstallDirs) + +if(CPR_FORCE_USE_SYSTEM_CURL) + install(TARGETS cpr + EXPORT cprTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + # Include CMake helpers for package config files + # Follow this installation guideline: https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html + include(CMakePackageConfigHelpers) + + write_basic_package_version_file( + "${CMAKE_BINARY_DIR}/cpr/cprConfigVersion.cmake" + VERSION ${${PROJECT_NAME}_VERSION} + COMPATIBILITY ExactVersion) + + configure_package_config_file(${CMAKE_SOURCE_DIR}/cmake/cprConfig.cmake.in + "${CMAKE_BINARY_DIR}/cpr/cprConfig.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cpr) + + install(EXPORT cprTargets + FILE cprTargets.cmake + NAMESPACE cpr:: + DESTINATION lib/cmake/cpr) + + install(FILES ${CMAKE_BINARY_DIR}/cpr/cprConfig.cmake + ${CMAKE_BINARY_DIR}/cpr/cprConfigVersion.cmake DESTINATION lib/cmake/cpr) +else() + install(TARGETS cpr + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() \ No newline at end of file