diff options
Diffstat (limited to 'cmake/QtIviSetup.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() |