mirror of
https://github.com/cuberite/SQLiteCpp.git
synced 2025-08-08 03:36:06 -04:00
fix: hide installation behind an option
Currently, every project pulling in SQLiteCpp automatically gets an `make install` which installs SQLiteCpp into the system. This is often not desired, since other projects only statically link. The solution is to add another "SQLITECPP_install" option, which allows to turn on/off this behavior.
This commit is contained in:
parent
59a047b8d3
commit
47909c4afb
@ -363,30 +363,32 @@ target_include_directories(SQLiteCpp
|
|||||||
$<INSTALL_INTERFACE:include/>)
|
$<INSTALL_INTERFACE:include/>)
|
||||||
|
|
||||||
# Allow the library to be installed via "make install" and found with "find_package"
|
# Allow the library to be installed via "make install" and found with "find_package"
|
||||||
|
option(SQLITECPP_INSTALL "Enables the install target." ON)
|
||||||
|
if (SQLITECPP_INSTALL)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
install(TARGETS SQLiteCpp
|
||||||
|
EXPORT ${PROJECT_NAME}Targets
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
COMPONENT libraries)
|
||||||
|
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT headers FILES_MATCHING REGEX ".*\\.(hpp|h)$")
|
||||||
|
install(EXPORT ${PROJECT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
install(FILES ${PROJECT_SOURCE_DIR}/package.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(CMakePackageConfigHelpers)
|
||||||
install(TARGETS SQLiteCpp
|
write_basic_package_version_file(
|
||||||
EXPORT ${PROJECT_NAME}Targets
|
cmake/${PROJECT_NAME}ConfigVersion.cmake
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
VERSION ${PROJECT_VERSION}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
COMPATIBILITY AnyNewerVersion)
|
||||||
COMPONENT libraries)
|
configure_package_config_file(
|
||||||
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT headers FILES_MATCHING REGEX ".*\\.(hpp|h)$")
|
cmake/${PROJECT_NAME}Config.cmake.in
|
||||||
install(EXPORT ${PROJECT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
cmake/${PROJECT_NAME}Config.cmake
|
||||||
install(FILES ${PROJECT_SOURCE_DIR}/package.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
|
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
install(FILES
|
||||||
include(CMakePackageConfigHelpers)
|
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake
|
||||||
write_basic_package_version_file(
|
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake
|
||||||
cmake/${PROJECT_NAME}ConfigVersion.cmake
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
VERSION ${PROJECT_VERSION}
|
endif (SQLITECPP_INSTALL)
|
||||||
COMPATIBILITY AnyNewerVersion)
|
|
||||||
configure_package_config_file(
|
|
||||||
cmake/${PROJECT_NAME}Config.cmake.in
|
|
||||||
cmake/${PROJECT_NAME}Config.cmake
|
|
||||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
|
||||||
install(FILES
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake
|
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
|
||||||
|
|
||||||
# Optional additional targets:
|
# Optional additional targets:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user