mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-03-06 13:41:35 +01:00
update to create config file which is independent from actual install location
This commit is contained in:
parent
266870df8e
commit
b91c515afe
@ -173,15 +173,35 @@ install(DIRECTORY example/
|
|||||||
# Provide config and version files to be used by other applications
|
# Provide config and version files to be used by other applications
|
||||||
# ===============================
|
# ===============================
|
||||||
|
|
||||||
export(PACKAGE ${PROJECT_NAME})
|
################################################################################
|
||||||
|
# Export package for use from the build tree
|
||||||
|
EXPORT( PACKAGE ${PROJECT_NAME} )
|
||||||
|
|
||||||
# cmake-modules
|
# Create the RapidJSONConfig.cmake file for other cmake projects.
|
||||||
CONFIGURE_FILE(${PROJECT_NAME}Config.cmake.in
|
# ... for the build tree
|
||||||
${PROJECT_NAME}Config.cmake
|
SET( CONFIG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
@ONLY)
|
SET( CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
CONFIGURE_FILE(${PROJECT_NAME}ConfigVersion.cmake.in
|
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
||||||
${PROJECT_NAME}ConfigVersion.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY )
|
||||||
@ONLY)
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake @ONLY)
|
||||||
|
|
||||||
|
# ... for the install tree
|
||||||
|
SET( CMAKECONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME} )
|
||||||
|
FILE( RELATIVE_PATH REL_INCLUDE_DIR
|
||||||
|
"${CMAKE_INSTALL_PREFIX}/${CMAKECONFIG_INSTALL_DIR}"
|
||||||
|
"${CMAKE_INSTALL_PREFIX}/include" )
|
||||||
|
|
||||||
|
SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
|
||||||
|
SET( CONFIG_SOURCE_DIR )
|
||||||
|
SET( CONFIG_DIR )
|
||||||
|
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake @ONLY )
|
||||||
|
|
||||||
|
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake"
|
||||||
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR} )
|
||||||
|
|
||||||
|
# Install files
|
||||||
INSTALL(FILES
|
INSTALL(FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
get_filename_component(RAPIDJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
################################################################################
|
||||||
set(RAPIDJSON_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@")
|
# RapidJSON source dir
|
||||||
message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}")
|
set( RapidJSON_SOURCE_DIR "@CONFIG_SOURCE_DIR@")
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# RapidJSON build dir
|
||||||
|
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}")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user