Merge pull request #1901 from JackBoosY/master
Use modern cmake function export to generate target
This commit is contained in:
commit
30f54566ad
@ -195,6 +195,11 @@ install(FILES readme.md
|
|||||||
DESTINATION "${DOC_INSTALL_DIR}"
|
DESTINATION "${DOC_INSTALL_DIR}"
|
||||||
COMPONENT doc)
|
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
|
install(DIRECTORY include/rapidjson
|
||||||
DESTINATION "${INCLUDE_INSTALL_DIR}"
|
DESTINATION "${INCLUDE_INSTALL_DIR}"
|
||||||
COMPONENT dev)
|
COMPONENT dev)
|
||||||
@ -221,6 +226,7 @@ SET( CONFIG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|||||||
SET( CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
SET( CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_SOURCE_DIR}/include" )
|
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_SOURCE_DIR}/include" )
|
||||||
|
|
||||||
|
INCLUDE(CMakePackageConfigHelpers)
|
||||||
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY )
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY )
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
|
||||||
@ -248,4 +254,7 @@ IF(CMAKE_INSTALL_DIR)
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||||
DESTINATION "${CMAKE_INSTALL_DIR}"
|
DESTINATION "${CMAKE_INSTALL_DIR}"
|
||||||
COMPONENT dev)
|
COMPONENT dev)
|
||||||
|
|
||||||
|
INSTALL(TARGETS RapidJSON EXPORT RapidJSON-targets)
|
||||||
|
INSTALL(EXPORT RapidJSON-targets DESTINATION ${CMAKE_INSTALL_DIR})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
################################################################################
|
@PACKAGE_INIT@
|
||||||
# CMake minimum version required
|
|
||||||
cmake_minimum_required(VERSION 3.0)
|
include ("${CMAKE_CURRENT_LIST_DIR}/RapidJSON-targets.cmake")
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# RapidJSON source dir
|
# RapidJSON source dir
|
||||||
@ -14,12 +14,6 @@ set( RapidJSON_DIR "@CONFIG_DIR@")
|
|||||||
# Compute paths
|
# Compute paths
|
||||||
get_filename_component(RapidJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
get_filename_component(RapidJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||||
|
|
||||||
set( RapidJSON_INCLUDE_DIR "@RapidJSON_INCLUDE_DIR@" )
|
get_target_property(RapidJSON_INCLUDE_DIR RapidJSON INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
set( RapidJSON_INCLUDE_DIRS "@RapidJSON_INCLUDE_DIR@" )
|
|
||||||
message(STATUS "RapidJSON found. Headers: ${RapidJSON_INCLUDE_DIRS}")
|
|
||||||
|
|
||||||
if(NOT TARGET rapidjson)
|
set( RapidJSON_INCLUDE_DIRS ${RapidJSON_INCLUDE_DIR} )
|
||||||
add_library(rapidjson INTERFACE IMPORTED)
|
|
||||||
set_property(TARGET rapidjson PROPERTY
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES ${RapidJSON_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user