modernized cmake installation with IMPORTED target export
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
|
||||||
PROJECT(QtPropertyBrowser)
|
PROJECT(QtPropertyBrowser)
|
||||||
|
|
||||||
|
|||||||
@@ -5,15 +5,14 @@ configure_package_config_file(
|
|||||||
${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
|
${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||||
INSTALL_DESTINATION ${INSTALL_CMAKE_DIR}
|
INSTALL_DESTINATION ${INSTALL_CMAKE_DIR}
|
||||||
PATH_VARS INSTALL_INCLUDE_DIR
|
)
|
||||||
|
|
||||||
|
install(EXPORT ${PROJECT_NAME}Targets
|
||||||
|
DESTINATION ${INSTALL_CMAKE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||||
DESTINATION ${INSTALL_CMAKE_DIR}
|
DESTINATION ${INSTALL_CMAKE_DIR}
|
||||||
COMPONENT Devel
|
COMPONENT Devel
|
||||||
)
|
|
||||||
|
|
||||||
install(EXPORT ${PROJECT_NAME}Targets
|
|
||||||
DESTINATION ${INSTALL_CMAKE_DIR}
|
|
||||||
)
|
)
|
||||||
@@ -17,7 +17,7 @@ SET(INSTALL_INCLUDE_DIR include/${PROJECT_NAME} CACHE PATH "Install dir for head
|
|||||||
IF(WIN32 AND NOT CYGWIN)
|
IF(WIN32 AND NOT CYGWIN)
|
||||||
SET(DEF_INSTALL_CMAKE_DIR CMake)
|
SET(DEF_INSTALL_CMAKE_DIR CMake)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(DEF_INSTALL_CMAKE_DIR lib/CMake/${PROJECT_NAME})
|
SET(DEF_INSTALL_CMAKE_DIR lib/cmake/${PROJECT_NAME})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
SET(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Install dir for CMake files")
|
SET(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Install dir for CMake files")
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,30 @@
|
|||||||
# Config file for the QtPropertyBrowser package
|
# Config file for the QtPropertyBrowser package
|
||||||
# It defines the following variables
|
# This adds QtPropertyBrowser IMPORTED target
|
||||||
|
#
|
||||||
|
# Usage example:
|
||||||
|
#
|
||||||
|
# find_package(QtPropertyBrowser)
|
||||||
|
# add_executable(foo foo.cpp)
|
||||||
|
# target_link_libraries(foo QtPropertyBrowser)
|
||||||
|
#
|
||||||
|
# Additionaly you can use the following varaibles:
|
||||||
|
#
|
||||||
# QtPropertyBrowser_FOUND - standard CMake Package found indicator
|
# QtPropertyBrowser_FOUND - standard CMake Package found indicator
|
||||||
# QtPropertyBrowser_INCLUDE_DIRS - include directories for QtPropertyBrowser
|
# QtPropertyBrowser_INCLUDE_DIR - include directories for QtPropertyBrowser alone
|
||||||
|
# QtPropertyBrowser_INCLUDE_DIRS - include directories for QtPropertyBrowser with all dpendencies
|
||||||
# QtPropertyBrowser_DEFINITIONS - Definitions needed to build with QtPropertyBrowser
|
# QtPropertyBrowser_DEFINITIONS - Definitions needed to build with QtPropertyBrowser
|
||||||
# QtPropertyBrowser_LIBRARIES - Libraries needed to build with QtPropertyBrowser
|
# QtPropertyBrowser_LIBRARIES - Libraries needed to build with QtPropertyBrowser
|
||||||
|
|
||||||
|
|
||||||
set (QtPropertyBrowser_FOUND true)
|
include(CMakeFindDependencyMacro)
|
||||||
|
find_dependency(Qt5Widgets)
|
||||||
|
|
||||||
@PACKAGE_INIT@
|
# Our library dependencies (contains definitions for IMPORTED targets)
|
||||||
set_and_check (QtPropertyBrowser_INCLUDE_DIRS "@PACKAGE_INSTALL_INCLUDE_DIR@")
|
if(NOT TARGET QtPropertyBrowser)
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/QtPropertyBrowserTargets.cmake")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# @PACKAGE_INIT@
|
||||||
|
|
||||||
|
# check_required_components(QtPropertyBrowser)
|
||||||
|
|
||||||
|
|||||||
@@ -60,16 +60,21 @@ add_dependencies(${TARGET_NAME} ${QT_TARGETS})
|
|||||||
include(GenerateExportHeader)
|
include(GenerateExportHeader)
|
||||||
generate_export_header(${TARGET_NAME})
|
generate_export_header(${TARGET_NAME})
|
||||||
|
|
||||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
|
||||||
PUBLIC_HEADER "${_PUBLIC_HDRS};${_IMPL_HDRS}"
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS ${TARGET_NAME}
|
install(TARGETS ${TARGET_NAME}
|
||||||
EXPORT ${TARGET_NAME}Targets
|
EXPORT ${TARGET_NAME}Targets
|
||||||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
RUNTIME DESTINATION ${INSTALL_BIN_DIR}
|
||||||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
|
LIBRARY DESTINATION ${INSTALL_LIB_DIR}
|
||||||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
ARCHIVE DESTINATION ${INSTALL_LIB_DIR}
|
||||||
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
|
INCLUDES DESTINATION ${INSTALL_INCLUDE_DIR}
|
||||||
COMPONENT dev
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${_PUBLIC_HDRS}
|
||||||
|
${_IMPL_HDRS}
|
||||||
|
DESTINATION
|
||||||
|
${INSTALL_INCLUDE_DIR}
|
||||||
|
COMPONENT
|
||||||
|
Devel
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user