mirror of
https://github.com/json-c/json-c.git
synced 2026-04-11 00:09:06 +08:00
Merge pull request #485 from myd7349/fix-cmake-module
Install CMake module files
This commit is contained in:
@@ -166,12 +166,6 @@ message(STATUS "Written ${PROJECT_BINARY_DIR}/config.h")
|
|||||||
configure_file(${PROJECT_SOURCE_DIR}/cmake/json_config.h.in ${PROJECT_BINARY_DIR}/json_config.h)
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/json_config.h.in ${PROJECT_BINARY_DIR}/json_config.h)
|
||||||
message(STATUS "Written ${PROJECT_BINARY_DIR}/json_config.h")
|
message(STATUS "Written ${PROJECT_BINARY_DIR}/json_config.h")
|
||||||
|
|
||||||
configure_package_config_file(
|
|
||||||
"cmake/Config.cmake.in"
|
|
||||||
${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
|
||||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections")
|
||||||
# There's a catch here.
|
# There's a catch here.
|
||||||
@@ -248,14 +242,35 @@ add_library(${PROJECT_NAME}
|
|||||||
|
|
||||||
# If json-c is used as subroject it set to target correct interface -I flags and allow
|
# If json-c is used as subroject it set to target correct interface -I flags and allow
|
||||||
# to build external target without extra include_directories(...)
|
# to build external target without extra include_directories(...)
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY
|
target_include_directories(${PROJECT_NAME}
|
||||||
INTERFACE_INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR}
|
PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
||||||
|
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
|
||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS ${PROJECT_NAME}
|
install(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION bin
|
EXPORT ${PROJECT_NAME}-targets
|
||||||
LIBRARY DESTINATION lib
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
ARCHIVE DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(EXPORT ${PROJECT_NAME}-targets
|
||||||
|
FILE ${PROJECT_NAME}-targets.cmake
|
||||||
|
NAMESPACE ${PROJECT_NAME}::
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
|
)
|
||||||
|
|
||||||
|
configure_package_config_file(
|
||||||
|
"cmake/Config.cmake.in"
|
||||||
|
${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||||
|
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (UNIX OR MINGW OR CYGWIN)
|
if (UNIX OR MINGW OR CYGWIN)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@PACKAGE_INIT@
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake")
|
||||||
check_required_components("@PROJECT_NAME@")
|
check_required_components("@PROJECT_NAME@")
|
||||||
|
|||||||
Reference in New Issue
Block a user