move export(), install() to src/CMakelists.txt from ./CMakelists.txt
This commit is contained in:
parent
3ec7d4fb13
commit
153f8a4228
|
@ -77,6 +77,12 @@ project(QSkinny
|
||||||
VERSION 0.8.0)
|
VERSION 0.8.0)
|
||||||
|
|
||||||
set(QSK_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
set(QSK_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
set(QSK_CMAKE_DIR ${QSK_SOURCE_DIR}/cmake)
|
||||||
|
# packaging
|
||||||
|
set(PACKAGE_NAME ${PROJECT_NAME})
|
||||||
|
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
|
||||||
|
set(PACKAGE_NAMESPACE ${PROJECT_NAME})
|
||||||
|
set(PACKAGE_LOCATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
|
||||||
qsk_setup_options()
|
qsk_setup_options()
|
||||||
|
|
||||||
|
@ -119,48 +125,3 @@ endif()
|
||||||
if(BUILD_PLAYGROUND)
|
if(BUILD_PLAYGROUND)
|
||||||
add_subdirectory(playground)
|
add_subdirectory(playground)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# packaging
|
|
||||||
set(PACKAGE_NAME ${PROJECT_NAME})
|
|
||||||
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
|
|
||||||
set(PACKAGE_NAMESPACE ${PROJECT_NAME})
|
|
||||||
set(PACKAGE_LOCATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
|
||||||
|
|
||||||
install(TARGETS qskinny EXPORT ${PACKAGE_NAME}Targets
|
|
||||||
LIBRARY DESTINATION ${QSK_INSTALL_LIBS}
|
|
||||||
ARCHIVE DESTINATION ${QSK_INSTALL_LIBS}
|
|
||||||
RUNTIME DESTINATION ${QSK_INSTALL_LIBS}
|
|
||||||
INCLUDES DESTINATION ${QSK_INSTALL_HEADERS}
|
|
||||||
PUBLIC_HEADER DESTINATION ${QSK_INSTALL_HEADERS})
|
|
||||||
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
write_basic_package_version_file(
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
|
|
||||||
VERSION ${PACKAGE_VERSION}
|
|
||||||
COMPATIBILITY AnyNewerVersion)
|
|
||||||
|
|
||||||
export(EXPORT ${PACKAGE_NAME}Targets
|
|
||||||
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Targets.cmake
|
|
||||||
NAMESPACE ${PACKAGE_NAMESPACE}::)
|
|
||||||
|
|
||||||
configure_file(cmake/${PACKAGE_NAME}Config.cmake
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Config.cmake
|
|
||||||
COPYONLY)
|
|
||||||
|
|
||||||
install(EXPORT ${PACKAGE_NAME}Targets
|
|
||||||
FILE
|
|
||||||
${PACKAGE_NAME}Targets.cmake
|
|
||||||
NAMESPACE
|
|
||||||
${PACKAGE_NAMESPACE}::
|
|
||||||
DESTINATION
|
|
||||||
${PACKAGE_LOCATION})
|
|
||||||
|
|
||||||
install(
|
|
||||||
FILES
|
|
||||||
cmake/${PACKAGE_NAME}Config.cmake
|
|
||||||
cmake/QskTools.cmake
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
|
|
||||||
DESTINATION
|
|
||||||
${PACKAGE_LOCATION}
|
|
||||||
COMPONENT
|
|
||||||
Devel)
|
|
||||||
|
|
|
@ -515,5 +515,41 @@ set_target_properties(${target} PROPERTIES EXPORT_NAME ${PROJECT_NAME})
|
||||||
set_target_properties(${target} PROPERTIES
|
set_target_properties(${target} PROPERTIES
|
||||||
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
||||||
|
|
||||||
# Set the library destination to ensure an organized library + plugins dir
|
include(CMakePackageConfigHelpers)
|
||||||
install(TARGETS ${target})
|
write_basic_package_version_file(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PACKAGE_NAME}ConfigVersion.cmake
|
||||||
|
VERSION ${PACKAGE_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion)
|
||||||
|
|
||||||
|
install(TARGETS ${target} EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
LIBRARY DESTINATION ${QSK_INSTALL_LIBS}
|
||||||
|
ARCHIVE DESTINATION ${QSK_INSTALL_LIBS}
|
||||||
|
RUNTIME DESTINATION ${QSK_INSTALL_LIBS}
|
||||||
|
INCLUDES DESTINATION ${QSK_INSTALL_HEADERS}
|
||||||
|
PUBLIC_HEADER DESTINATION ${QSK_INSTALL_HEADERS})
|
||||||
|
|
||||||
|
export(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PACKAGE_NAME}Targets.cmake
|
||||||
|
NAMESPACE ${PACKAGE_NAMESPACE}::)
|
||||||
|
|
||||||
|
configure_file(${QSK_CMAKE_DIR}/${PACKAGE_NAME}Config.cmake
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PACKAGE_NAME}Config.cmake
|
||||||
|
COPYONLY)
|
||||||
|
|
||||||
|
install(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
FILE
|
||||||
|
${PACKAGE_NAME}Targets.cmake
|
||||||
|
NAMESPACE
|
||||||
|
${PACKAGE_NAMESPACE}::
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION})
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${QSK_CMAKE_DIR}/${PACKAGE_NAME}Config.cmake
|
||||||
|
${QSK_CMAKE_DIR}/QskTools.cmake
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/cmake/${PACKAGE_NAME}ConfigVersion.cmake
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION}
|
||||||
|
COMPONENT
|
||||||
|
Devel)
|
||||||
|
|
Loading…
Reference in New Issue