summaryrefslogtreecommitdiff
path: root/cmake/QtIviSetup.cmake
blob: e536ff4895ad263ac508c9c620f34c9e46205580 (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
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()