Use modern cmake function export to generate target
This commit is contained in:
parent
17aa824c92
commit
f4be0ada85
@ -194,6 +194,11 @@ install(FILES readme.md
|
||||
DESTINATION "${DOC_INSTALL_DIR}"
|
||||
COMPONENT doc)
|
||||
|
||||
# Add an interface target to export it
|
||||
add_library(RapidJSON INTERFACE)
|
||||
|
||||
target_include_directories(RapidJSON INTERFACE $<INSTALL_INTERFACE:include/rapidjson>)
|
||||
|
||||
install(DIRECTORY include/rapidjson
|
||||
DESTINATION "${INCLUDE_INSTALL_DIR}"
|
||||
COMPONENT dev)
|
||||
@ -220,6 +225,7 @@ SET( CONFIG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
SET( CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_SOURCE_DIR}/include" )
|
||||
|
||||
INCLUDE(CMakePackageConfigHelpers)
|
||||
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY )
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
|
||||
@ -246,3 +252,6 @@ INSTALL(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
DESTINATION "${CMAKE_INSTALL_DIR}"
|
||||
COMPONENT dev)
|
||||
|
||||
INSTALL(TARGETS RapidJSON EXPORT RapidJSON-targets)
|
||||
INSTALL(EXPORT RapidJSON-targets DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# CMake minimum version required
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include ("${CMAKE_CURRENT_LIST_DIR}/RapidJSON-targets.cmake")
|
||||
|
||||
################################################################################
|
||||
# RapidJSON source dir
|
||||
@ -14,12 +14,6 @@ set( RapidJSON_DIR "@CONFIG_DIR@")
|
||||
# Compute paths
|
||||
get_filename_component(RapidJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
|
||||
set( RapidJSON_INCLUDE_DIR "@RapidJSON_INCLUDE_DIR@" )
|
||||
set( RapidJSON_INCLUDE_DIRS "@RapidJSON_INCLUDE_DIR@" )
|
||||
message(STATUS "RapidJSON found. Headers: ${RapidJSON_INCLUDE_DIRS}")
|
||||
get_target_property(RapidJSON_INCLUDE_DIR RapidJSON INTERFACE_INCLUDE_DIRECTORIES)
|
||||
|
||||
if(NOT TARGET rapidjson)
|
||||
add_library(rapidjson INTERFACE IMPORTED)
|
||||
set_property(TARGET rapidjson PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${RapidJSON_INCLUDE_DIRS})
|
||||
endif()
|
||||
set( RapidJSON_INCLUDE_DIRS ${RapidJSON_INCLUDE_DIR} )
|
||||
|
Loading…
x
Reference in New Issue
Block a user