summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2021-03-02 09:50:15 +0100
committerDominik Holland <dominik.holland@qt.io>2021-03-26 11:02:51 +0100
commit666ad879094791bf8d2626b4cc66638a2af8e23a (patch)
tree5306fff2876a1015f9be378ec911ad0d1eef1eeb /cmake
parent3fdd3573f716b044824e11dcd1cabb8442ffeea8 (diff)
downloadqtivi-666ad879094791bf8d2626b4cc66638a2af8e23a.tar.gz
cmake: Add configure test for DLT and fix building GeniviExtras
Task-number: AUTOSUITE-1633 Change-Id: Icf2117f9772dccff871c7fa9307479c2488f3965 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindDLT.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/cmake/FindDLT.cmake b/cmake/FindDLT.cmake
new file mode 100644
index 0000000..e75fb6b
--- /dev/null
+++ b/cmake/FindDLT.cmake
@@ -0,0 +1,22 @@
+# We can't create the same interface imported target multiple times, CMake will complain if we do
+# that. This can happen if the find_package call is done in multiple different subdirectories.
+if(TARGET DLT::DLT)
+ set(DLT_FOUND ON)
+ return()
+endif()
+
+find_package(PkgConfig)
+
+pkg_check_modules(DLT automotive-dlt IMPORTED_TARGET)
+set(__dlt_target_name "PkgConfig::DLT")
+
+if (NOT TARGET "${__dlt_target_name}")
+ set(DLT_FOUND 0)
+ return()
+endif()
+
+add_library(DLT::DLT INTERFACE IMPORTED)
+target_link_libraries(DLT::DLT INTERFACE ${__dlt_target_name})
+target_include_directories(DLT::DLT INTERFACE ${DLT_INCLUDEDIR})
+set(DLT_FOUND TRUE)
+unset(__dlt_target_name)