Protect target JsonCpp::JsonCpp against multi-include (#1435)
* Protect target JsonCpp::JsonCpp against multi-include
Fixes #1356
* Simplify (@BillyDonahue)
---------
Co-authored-by: Jordan Bayles <bayles.jordan@gmail.com>
diff --git a/jsoncpp-namespaced-targets.cmake b/jsoncpp-namespaced-targets.cmake
index ac1504e..70a79ee 100644
--- a/jsoncpp-namespaced-targets.cmake
+++ b/jsoncpp-namespaced-targets.cmake
@@ -1,7 +1,9 @@
-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
+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 ()