From 9ef7d30ddf07eccccad94704934cc453cf8d6524 Mon Sep 17 00:00:00 2001 From: Matthias Loy Date: Mon, 28 Jun 2021 10:17:24 +0200 Subject: [PATCH 1/2] Create aliases with name space for static and shared library --- CMakeLists.txt | 1 - jsoncpp-namespaced-targets.cmake | 7 ------- src/lib_json/CMakeLists.txt | 2 ++ 3 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 jsoncpp-namespaced-targets.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 584ecd026..4b7923bc6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -192,7 +192,6 @@ if(JSONCPP_WITH_CMAKE_PACKAGE) COMPATIBILITY SameMajorVersion) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jsoncppConfigVersion.cmake ${CMAKE_CURRENT_BINARY_DIR}/jsoncppConfig.cmake - ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp-namespaced-targets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/jsoncpp) endif() diff --git a/jsoncpp-namespaced-targets.cmake b/jsoncpp-namespaced-targets.cmake deleted file mode 100644 index ac1504e00..000000000 --- a/jsoncpp-namespaced-targets.cmake +++ /dev/null @@ -1,7 +0,0 @@ -if (TARGET jsoncpp_static) - add_library(JsonCpp::JsonCpp INTERFACE IMPORTED) - set_target_properties(JsonCpp::JsonCpp PROPERTIES INTERFACE_LINK_LIBRARIES "jsoncpp_static") -elseif (TARGET jsoncpp_lib) - add_library(JsonCpp::JsonCpp INTERFACE IMPORTED) - set_target_properties(JsonCpp::JsonCpp PROPERTIES INTERFACE_LINK_LIBRARIES "jsoncpp_lib") -endif () \ No newline at end of file diff --git a/src/lib_json/CMakeLists.txt b/src/lib_json/CMakeLists.txt index f0e9d0a5b..0400e4db0 100644 --- a/src/lib_json/CMakeLists.txt +++ b/src/lib_json/CMakeLists.txt @@ -115,6 +115,7 @@ if(BUILD_SHARED_LIBS) set(SHARED_LIB ${PROJECT_NAME}_lib) add_library(${SHARED_LIB} SHARED ${PUBLIC_HEADERS} ${JSONCPP_SOURCES}) + add_library(JsonCpp::JsonCpp ALIAS ${SHARED_LIB}) set_target_properties(${SHARED_LIB} PROPERTIES OUTPUT_NAME jsoncpp VERSION ${PROJECT_VERSION} @@ -141,6 +142,7 @@ endif() if(BUILD_STATIC_LIBS) set(STATIC_LIB ${PROJECT_NAME}_static) add_library(${STATIC_LIB} STATIC ${PUBLIC_HEADERS} ${JSONCPP_SOURCES}) + add_library(JsonCpp::JsonCpp ALIAS ${STATIC_LIB}) # avoid name clashes on windows as the shared import lib is alse named jsoncpp.lib if(NOT DEFINED STATIC_SUFFIX AND BUILD_SHARED_LIBS) From 83de808134aee00c0323a80cf978aab3291fb500 Mon Sep 17 00:00:00 2001 From: Matthias Loy Date: Mon, 28 Jun 2021 11:10:32 +0200 Subject: [PATCH 2/2] Create aliases with name space for static and shared library --- jsoncppConfig.cmake.in | 1 - 1 file changed, 1 deletion(-) diff --git a/jsoncppConfig.cmake.in b/jsoncppConfig.cmake.in index 76570bc30..02452bf7e 100644 --- a/jsoncppConfig.cmake.in +++ b/jsoncppConfig.cmake.in @@ -4,7 +4,6 @@ cmake_policy(VERSION 3.0) @PACKAGE_INIT@ include ( "${CMAKE_CURRENT_LIST_DIR}/jsoncpp-targets.cmake" ) -include ( "${CMAKE_CURRENT_LIST_DIR}/jsoncpp-namespaced-targets.cmake" ) check_required_components(JsonCpp)