summaryrefslogtreecommitdiff
path: root/src/ivicore/configure.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/ivicore/configure.cmake')
-rw-r--r--src/ivicore/configure.cmake49
1 files changed, 40 insertions, 9 deletions
diff --git a/src/ivicore/configure.cmake b/src/ivicore/configure.cmake
index 3b68db0..8b94aed 100644
--- a/src/ivicore/configure.cmake
+++ b/src/ivicore/configure.cmake
@@ -1,4 +1,9 @@
-
+# special case begin
+# Define a stub for qt-configure-module
+if (NOT COMMAND qt_config_python3_package_test)
+ defstub(qt_config_python3_package_test)
+endif()
+# special case end
#### Inputs
@@ -14,25 +19,33 @@ set_property(CACHE INPUT_qface PROPERTY STRINGS undefined no qt system)
#### Libraries
-
+qt_find_package(Python3 PROVIDED_TARGETS Python3::Interpreter MODULE_NAME ivicore)
#### Tests
-
+qt_config_python3_package_test(virtualenv
+ LABEL "Python3 virtualenv package"
+ PACKAGE "virtualenv"
+)
+qt_config_python3_package_test(qface
+ LABEL "Python3 qface package"
+ PACKAGE "qface"
+ VERSION "2.0.3"
+)
#### Features
qt_feature("python3" PRIVATE
LABEL "python3"
- CONDITION tests.python3 OR FIXME
+ CONDITION PYTHON3_FOUND
)
qt_feature("python3-virtualenv" PRIVATE
LABEL "virtualenv"
- CONDITION QT_FEATURE_python3 AND tests.virtualenv OR FIXME
+ CONDITION QT_FEATURE_python3 AND TEST_virtualenv
)
qt_feature("system-qface" PUBLIC
LABEL "System QFace"
- CONDITION tests.qface OR FIXME
+ CONDITION TEST_qface
ENABLE INPUT_qface STREQUAL 'system'
DISABLE INPUT_qface STREQUAL 'no' OR INPUT_qface STREQUAL 'qt'
)
@@ -43,7 +56,7 @@ qt_feature("system-ivigenerator" PRIVATE
)
qt_feature("ivigenerator" PUBLIC
LABEL "IVI Generator"
- CONDITION QT_FEATURE_ivicore AND QT_FEATURE_python3 AND ( ( QT_FEATURE_python3_virtualenv AND tests.qface-submodule ) OR ( QT_FEATURE_system_qface ) ) OR QT_FEATURE_system_ivigenerator OR FIXME
+ CONDITION QT_FEATURE_ivicore AND QT_FEATURE_python3 AND ( ( QT_FEATURE_python3_virtualenv AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/../3rdparty/qface/setup.py" ) OR ( QT_FEATURE_system_qface ) ) OR QT_FEATURE_system_ivigenerator # special case
ENABLE INPUT_ivigenerator STREQUAL 'qt' OR INPUT_ivigenerator STREQUAL 'system'
DISABLE INPUT_ivigenerator STREQUAL 'no'
)
@@ -60,6 +73,12 @@ qt_feature("ivicore" PUBLIC
)
qt_configure_add_summary_section(NAME "Qt IVI Core")
qt_configure_add_summary_section(NAME "Python3")
+if(PYTHON3_FOUND)
+ qt_configure_add_summary_entry(TYPE "message" ARGS "Executable" MESSAGE "${Python3_EXECUTABLE}")
+ qt_configure_add_summary_entry(TYPE "message" ARGS "Version" MESSAGE "${Python3_VERSION}")
+else()
+ qt_configure_add_summary_entry(TYPE "message" ARGS "Executable" MESSAGE "no")
+endif()
qt_configure_add_summary_entry(ARGS "python3-virtualenv")
qt_configure_add_summary_entry(ARGS "system-qface")
qt_configure_end_summary_section() # end of "Python3" section
@@ -71,8 +90,20 @@ qt_configure_add_summary_entry(
CONDITION NOT QT_FEATURE_ivicore
)
qt_configure_add_report_entry(
- TYPE WARNING
- MESSAGE "Cannot build the IVI Generator because its dependencies are not satisfied. The IVI Generator provides tooling to generate source code out of IDL files. Make sure python3 and its 'virtualenv' packages are installed. E.g. by running apt-get install python3 python3-virtualenv And make sure the qface submodule is initialized or the correct qface version is installed on your system. E.g. by running the following command: git submodule init && git submodule update"
+ TYPE ERROR
+# special case begin
+ MESSAGE [[
+Cannot build the IVI Generator because its dependencies are not satisfied.
+The IVI Generator provides tooling to generate source code out of IDL files.
+Make sure python3 and its 'virtualenv' packages are installed.
+E.g. by running
+ apt-get install python3 python3-virtualenv
+
+And make sure the qface submodule is initialized or the correct qface version is installed on your system.
+E.g. by running the following command:
+ git submodule init && git submodule update
+]]
+# special case end
CONDITION QT_FEATURE_ivicore AND NOT QT_FEATURE_ivigenerator AND ( NOT INPUT_ivigenerator STREQUAL 'no' )
)
qt_configure_add_report_entry(