From 12d9382030ee109c9962153b03f8eb166e639f98 Mon Sep 17 00:00:00 2001 From: Roelof Date: Tue, 13 Sep 2022 08:02:49 +0200 Subject: [PATCH 1/2] Protect target JsonCpp::JsonCpp against multi-include Fixes #1356 --- jsoncpp-namespaced-targets.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jsoncpp-namespaced-targets.cmake b/jsoncpp-namespaced-targets.cmake index ac1504e00..02187add1 100644 --- a/jsoncpp-namespaced-targets.cmake +++ b/jsoncpp-namespaced-targets.cmake @@ -1,7 +1,7 @@ -if (TARGET jsoncpp_static) +if (TARGET jsoncpp_static AND NOT TARGET JsonCpp::JsonCpp) add_library(JsonCpp::JsonCpp INTERFACE IMPORTED) set_target_properties(JsonCpp::JsonCpp PROPERTIES INTERFACE_LINK_LIBRARIES "jsoncpp_static") -elseif (TARGET jsoncpp_lib) +elseif (TARGET jsoncpp_lib AND NOT TARGET JsonCpp::JsonCpp) add_library(JsonCpp::JsonCpp INTERFACE IMPORTED) set_target_properties(JsonCpp::JsonCpp PROPERTIES INTERFACE_LINK_LIBRARIES "jsoncpp_lib") -endif () \ No newline at end of file +endif () From b9272df6991162142411338829b4bc9c5bc41411 Mon Sep 17 00:00:00 2001 From: Roelof Oomen Date: Tue, 30 Apr 2024 17:30:56 +0200 Subject: [PATCH 2/2] Simplify (@BillyDonahue) --- jsoncpp-namespaced-targets.cmake | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/jsoncpp-namespaced-targets.cmake b/jsoncpp-namespaced-targets.cmake index 02187add1..70a79ee7f 100644 --- a/jsoncpp-namespaced-targets.cmake +++ b/jsoncpp-namespaced-targets.cmake @@ -1,7 +1,9 @@ -if (TARGET jsoncpp_static AND NOT TARGET JsonCpp::JsonCpp) - add_library(JsonCpp::JsonCpp INTERFACE IMPORTED) - set_target_properties(JsonCpp::JsonCpp PROPERTIES INTERFACE_LINK_LIBRARIES "jsoncpp_static") -elseif (TARGET jsoncpp_lib AND NOT TARGET JsonCpp::JsonCpp) - add_library(JsonCpp::JsonCpp INTERFACE IMPORTED) - set_target_properties(JsonCpp::JsonCpp PROPERTIES INTERFACE_LINK_LIBRARIES "jsoncpp_lib") +if (NOT TARGET JsonCpp::JsonCpp) + 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 () endif ()