diff options
author | Dominik Holland <dominik.holland@qt.io> | 2021-03-02 09:51:31 +0100 |
---|---|---|
committer | Dominik Holland <dominik.holland@qt.io> | 2021-05-10 17:27:59 +0200 |
commit | cbeaec80c9c8e786afed9b6a38e615890a82321d (patch) | |
tree | ecb8b6ca0a9ea29d32e5f7e8f37da33d9d811cea /cmake | |
parent | 12f68d3498e9f3f705f8486e0ca54433d506002e (diff) | |
download | qtivi-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.cmake | 37 |
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() |