summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2021-03-02 09:51:31 +0100
committerDominik Holland <dominik.holland@qt.io>2021-05-10 17:27:59 +0200
commitcbeaec80c9c8e786afed9b6a38e615890a82321d (patch)
treeecb8b6ca0a9ea29d32e5f7e8f37da33d9d811cea /cmake
parent12f68d3498e9f3f705f8486e0ca54433d506002e (diff)
downloadqtivi-cbeaec80c9c8e786afed9b6a38e615890a82321d.tar.gz
cmake: python3 and package detection
Change-Id: I4a180811dede6c69c2b627adbd184eb87abd2c43 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtIviSetup.cmake37
1 files changed, 37 insertions, 0 deletions
diff --git a/cmake/QtIviSetup.cmake b/cmake/QtIviSetup.cmake
new file mode 100644
index 0000000..e536ff4
--- /dev/null
+++ b/cmake/QtIviSetup.cmake
@@ -0,0 +1,37 @@
+function(qt_config_python3_package_test name)
+ if(DEFINED "TEST_${name}")
+ return()
+ endif()
+
+ cmake_parse_arguments(arg "" "LABEL;PACKAGE;VERSION"
+ "" ${ARGN})
+
+ message(STATUS "Performing Test ${arg_LABEL}")
+
+ execute_process(COMMAND ${Python3_EXECUTABLE} "-c" "import pkg_resources; print(pkg_resources.get_distribution(\"${arg_PACKAGE}\").version)"
+ RESULT_VARIABLE ${name}_RESULT
+ OUTPUT_VARIABLE ${name}_VERSION
+ ERROR_QUIET
+ )
+
+ set(HAVE_${name} FALSE)
+ set(status_label "Failed")
+
+ if(${${name}_RESULT} EQUAL 0)
+ if(DEFINED arg_VERSION)
+ message(STATUS "Checking for exact version:")
+ message(STATUS "Expected: ${arg_VERSION}")
+ message(STATUS "Got: ${${name}_VERSION}")
+ if("${arg_VERSION}" VERSION_EQUAL "${${name}_VERSION}")
+ set(HAVE_${name} TRUE)
+ set(status_label "Success")
+ endif()
+ else()
+ set(HAVE_${name} TRUE)
+ set(status_label "Success")
+ endif()
+ endif()
+ message(STATUS "Performing Test ${arg_LABEL} - ${status_label}")
+
+ set(TEST_${name} "${HAVE_${name}}" CACHE INTERNAL "${arg_LABEL}")
+endfunction()