modernized cmake installation with IMPORTED target export
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
|
||||
PROJECT(QtPropertyBrowser)
|
||||
|
||||
|
||||
@@ -5,15 +5,14 @@ configure_package_config_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
INSTALL_DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
PATH_VARS INSTALL_INCLUDE_DIR
|
||||
)
|
||||
|
||||
install(EXPORT ${PROJECT_NAME}Targets
|
||||
DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
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)
|
||||
SET(DEF_INSTALL_CMAKE_DIR CMake)
|
||||
ELSE()
|
||||
SET(DEF_INSTALL_CMAKE_DIR lib/CMake/${PROJECT_NAME})
|
||||
SET(DEF_INSTALL_CMAKE_DIR lib/cmake/${PROJECT_NAME})
|
||||
ENDIF()
|
||||
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
|
||||
# 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_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_LIBRARIES - Libraries needed to build with QtPropertyBrowser
|
||||
|
||||
|
||||
set (QtPropertyBrowser_FOUND true)
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(Qt5Widgets)
|
||||
|
||||
@PACKAGE_INIT@
|
||||
set_and_check (QtPropertyBrowser_INCLUDE_DIRS "@PACKAGE_INSTALL_INCLUDE_DIR@")
|
||||
# Our library dependencies (contains definitions for IMPORTED targets)
|
||||
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)
|
||||
generate_export_header(${TARGET_NAME})
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
PUBLIC_HEADER "${_PUBLIC_HDRS};${_IMPL_HDRS}"
|
||||
)
|
||||
|
||||
install(TARGETS ${TARGET_NAME}
|
||||
EXPORT ${TARGET_NAME}Targets
|
||||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
|
||||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
||||
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
|
||||
COMPONENT dev
|
||||
RUNTIME DESTINATION ${INSTALL_BIN_DIR}
|
||||
LIBRARY DESTINATION ${INSTALL_LIB_DIR}
|
||||
ARCHIVE DESTINATION ${INSTALL_LIB_DIR}
|
||||
INCLUDES DESTINATION ${INSTALL_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
install(
|
||||
FILES
|
||||
${_PUBLIC_HDRS}
|
||||
${_IMPL_HDRS}
|
||||
DESTINATION
|
||||
${INSTALL_INCLUDE_DIR}
|
||||
COMPONENT
|
||||
Devel
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user