Skip to content

Commit c177d90

Browse files
authored
Merge pull request #235 from BioDataAnalysis/emmenlau_add_cmake_exports
Added support for cmake dependencies and version information
2 parents 11fab0f + bd956b0 commit c177d90

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

CMakeLists.txt

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ set(SQLITECPP_SCRIPT
153153
build.sh
154154
cpplint.py
155155
Doxyfile
156-
FindSQLiteCpp.cmake
156+
cmake/FindSQLiteCpp.cmake
157157
)
158158
source_group(scripts FILES ${SQLITECPP_SCRIPT})
159159

@@ -194,15 +194,29 @@ endif (UNIX AND (CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "
194194
# Allow the library to be installed via "make install" and found with "find_package"
195195
include(GNUInstallDirs)
196196
install(TARGETS SQLiteCpp
197-
EXPORT ${PROJECT_NAME}Config
197+
EXPORT ${PROJECT_NAME}Targets
198198
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
199199
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
200200
COMPONENT libraries)
201201
target_include_directories(SQLiteCpp PUBLIC
202202
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
203203
$<INSTALL_INTERFACE:include/>)
204204
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT headers FILES_MATCHING REGEX ".*\\.(hpp|h)$")
205-
install(EXPORT ${PROJECT_NAME}Config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
205+
install(EXPORT ${PROJECT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
206+
207+
include(CMakePackageConfigHelpers)
208+
write_basic_package_version_file(
209+
cmake/${PROJECT_NAME}ConfigVersion.cmake
210+
VERSION ${PROJECT_VERSION}
211+
COMPATIBILITY AnyNewerVersion)
212+
configure_package_config_file(
213+
cmake/${PROJECT_NAME}Config.cmake.in
214+
cmake/${PROJECT_NAME}Config.cmake
215+
INSTALL_DESTINATION lib/cmake/${PROJECT_NAME})
216+
install(FILES
217+
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake
218+
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake
219+
DESTINATION lib/cmake/${PROJECT_NAME})
206220

207221
## Build provided copy of SQLite3 C library ##
208222

File renamed without changes.

cmake/SQLiteCppConfig.cmake.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
include(CMakeFindDependencyMacro)
2+
find_dependency(SQLite3)
3+
4+
@PACKAGE_INIT@
5+
6+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
7+
check_required_components("@PROJECT_NAME@")

0 commit comments

Comments
 (0)