changeset 669:72e143a85525

cmake/FindJansson: enable imported targets
author David Demelier <markand@malikania.fr>
date Sat, 03 Oct 2020 16:20:03 +0200
parents 8002da0f5f0b
children 2d4a781b517c
files cmake/FindJansson.cmake
diffstat 1 files changed, 20 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/cmake/FindJansson.cmake	Sat Oct 03 16:15:16 2020 +0200
+++ b/cmake/FindJansson.cmake	Sat Oct 03 16:20:03 2020 +0200
@@ -6,6 +6,11 @@
 # Jansson_INCLUDE_DIRS, where to find jansson.h
 # Jansson_LIBRARIES, where to find library
 # Jansson_FOUND, if it is found
+#
+# The following imported targets will be available:
+#
+# Jansson::Jansson, if found.
+#
 
 find_path(Jansson_INCLUDE_DIR NAMES jansson.h)
 find_library(Jansson_LIBRARY NAMES libjansson jansson)
@@ -18,7 +23,20 @@
 	REQUIRED_VARS Jansson_LIBRARY Jansson_INCLUDE_DIR
 )
 
-set(Jansson_LIBRARIES ${Jansson_LIBRARY})
-set(Jansson_INCLUDE_DIRS ${Jansson_INCLUDE_DIR})
+if (Jansson_FOUND)
+	set(Jansson_LIBRARIES ${Jansson_LIBRARY})
+	set(Jansson_INCLUDE_DIRS ${Jansson_INCLUDE_DIR})
+
+	if (NOT TARGET Jansson::Jansson)
+		add_library(Jansson::Jansson UNKNOWN IMPORTED)
+		set_target_properties(
+			Jansson::Jansson
+			PROPERTIES
+				IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+				IMPORTED_LOCATION "${Jansson_LIBRARY}"
+				INTERFACE_INCLUDE_DIRECTORIES "${Jansson_INCLUDE_DIRS}"
+		)
+	endif ()
+endif ()
 
 mark_as_advanced(Jansson_INCLUDE_DIR Jansson_LIBRARY)