blob: d9555e86b5a738f4d095fbcba5d2154d522d518d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
function(qt_config_python3_package_test name)
if(DEFINED "TEST_${name}")
return()
endif()
cmake_parse_arguments(arg "" "LABEL;PACKAGE;CONDITION;VERSION"
"" ${ARGN})
if(NOT arg_CONDITION)
set(arg_CONDITION VERSION_EQUAL)
endif()
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 version:")
message(STATUS "Expected: ${arg_VERSION}")
message(STATUS "Condition: ${arg_CONDITION}")
message(STATUS "Got: ${${name}_VERSION}")
if("${${name}_VERSION}" ${arg_CONDITION} "${arg_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()
|