summaryrefslogtreecommitdiff
path: root/src
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 /src
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 'src')
-rw-r--r--src/geniviextras/.prev_configure.cmake58
-rw-r--r--src/geniviextras/CMakeLists.txt2
-rw-r--r--src/geniviextras/configure.cmake5
3 files changed, 62 insertions, 3 deletions
diff --git a/src/geniviextras/.prev_configure.cmake b/src/geniviextras/.prev_configure.cmake
new file mode 100644
index 0000000..ac4ba97
--- /dev/null
+++ b/src/geniviextras/.prev_configure.cmake
@@ -0,0 +1,58 @@
+
+
+#### Inputs
+
+
+
+#### Libraries
+
+qt_find_package(DLT PROVIDED_TARGETS DLT::DLT MODULE_NAME geniviextras QMAKE_LIB dlt)
+
+
+#### Tests
+
+
+
+#### Features
+
+qt_feature("dlt" PRIVATE
+ LABEL "DLT"
+ AUTODETECT UNIX
+ CONDITION DLT_FOUND
+)
+qt_feature("dlt_2_12" PRIVATE
+ LABEL "DLT > 2.12"
+ AUTODETECT UNIX
+ CONDITION libs.dlt_2_12 OR FIXME
+)
+qt_feature("geniviextras-only" PRIVATE
+ LABEL "Only build Qt GENIVI Extras"
+ CONDITION INPUT_geniviextras_only STREQUAL 'yes'
+)
+qt_feature("geniviextras" PUBLIC
+ LABEL "Qt GENIVI Extras"
+ CONDITION QT_FEATURE_dlt
+)
+qt_configure_add_summary_section(NAME "Qt GENIVI Extras")
+qt_configure_add_summary_entry(ARGS "dlt")
+qt_configure_add_summary_entry(ARGS "dlt_2_12")
+qt_configure_end_summary_section() # end of "Qt GENIVI Extras" section
+qt_configure_add_summary_entry(
+ ARGS "geniviextras"
+ CONDITION NOT QT_FEATURE_geniviextras
+)
+qt_configure_add_report_entry(
+ TYPE NOTE
+ MESSAGE "No DLT libs found. Disabled building Qt GENIVI Extras."
+ CONDITION NOT QT_FEATURE_dlt
+)
+qt_configure_add_report_entry(
+ TYPE NOTE
+ MESSAGE "Old DLT version detected. Not all features of Qt GENIVI Extras can be enabled."
+ CONDITION QT_FEATURE_dlt AND NOT QT_FEATURE_dlt_2_12
+)
+qt_configure_add_report_entry(
+ TYPE ERROR
+ MESSAGE "Mandatory dependency missing for only building Qt GENIVI Extras."
+ CONDITION NOT QT_FEATURE_dlt AND INPUT_geniviextras_only STREQUAL 'yes'
+)
diff --git a/src/geniviextras/CMakeLists.txt b/src/geniviextras/CMakeLists.txt
index 75cdd82..7dfc8b6 100644
--- a/src/geniviextras/CMakeLists.txt
+++ b/src/geniviextras/CMakeLists.txt
@@ -10,8 +10,8 @@ qt_add_module(GeniviExtras
qdltregistration.cpp qdltregistration.h qdltregistration_p.h
qgeniviextrasglobal.h qgeniviextrasglobal_p.h
PUBLIC_LIBRARIES
+ DLT::DLT
Qt::Core
- dlt
)
#### Keys ignored in scope 1:.:.:geniviextras.pro:<TRUE>:
diff --git a/src/geniviextras/configure.cmake b/src/geniviextras/configure.cmake
index 59ccafe..35196b8 100644
--- a/src/geniviextras/configure.cmake
+++ b/src/geniviextras/configure.cmake
@@ -6,6 +6,7 @@
#### Libraries
+qt_find_package(DLT PROVIDED_TARGETS DLT::DLT MODULE_NAME geniviextras QMAKE_LIB dlt)
#### Tests
@@ -17,12 +18,12 @@
qt_feature("dlt" PRIVATE
LABEL "DLT"
AUTODETECT UNIX
- CONDITION libs.dlt OR FIXME
+ CONDITION DLT_FOUND # special case
)
qt_feature("dlt_2_12" PRIVATE
LABEL "DLT > 2.12"
AUTODETECT UNIX
- CONDITION libs.dlt_2_12 OR FIXME
+ CONDITION DLT_VERSION VERSION_GREATER_EQUAL 2.12 # special case
)
qt_feature("geniviextras-only" PRIVATE
LABEL "Only build Qt GENIVI Extras"