diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b45863..4df9b56 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,7 +153,7 @@ set(SQLITECPP_SCRIPT build.sh cpplint.py Doxyfile - FindSQLiteCpp.cmake + cmake/FindSQLiteCpp.cmake ) source_group(scripts FILES ${SQLITECPP_SCRIPT}) @@ -194,7 +194,7 @@ endif (UNIX AND (CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID} STREQUAL " # Allow the library to be installed via "make install" and found with "find_package" include(GNUInstallDirs) install(TARGETS SQLiteCpp - EXPORT ${PROJECT_NAME}Config + EXPORT ${PROJECT_NAME}Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) @@ -202,7 +202,21 @@ target_include_directories(SQLiteCpp PUBLIC $ $) install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT headers FILES_MATCHING REGEX ".*\\.(hpp|h)$") -install(EXPORT ${PROJECT_NAME}Config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) +install(EXPORT ${PROJECT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + cmake/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion) +configure_package_config_file( + cmake/${PROJECT_NAME}Config.cmake.in + cmake/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}) +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake + DESTINATION lib/cmake/${PROJECT_NAME}) ## Build provided copy of SQLite3 C library ## diff --git a/FindSQLiteCpp.cmake b/cmake/FindSQLiteCpp.cmake similarity index 100% rename from FindSQLiteCpp.cmake rename to cmake/FindSQLiteCpp.cmake diff --git a/cmake/SQLiteCppConfig.cmake.in b/cmake/SQLiteCppConfig.cmake.in new file mode 100644 index 0000000..82c32db --- /dev/null +++ b/cmake/SQLiteCppConfig.cmake.in @@ -0,0 +1,7 @@ +include(CMakeFindDependencyMacro) +find_dependency(SQLite3) + +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +check_required_components("@PROJECT_NAME@")