From 6a002edb96bce7bf6604c29c205067f8f0352b18 Mon Sep 17 00:00:00 2001 From: Mattia Mancini <mancini@astron.nl> Date: Mon, 18 Mar 2019 09:17:33 +0000 Subject: [PATCH] OSB-44: requesting version gt 4.0 for python module celery --- CMake/FindPythonModule.cmake | 16 +++++++++++++++- LCU/Maintenance/DBInterface/CMakeLists.txt | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CMake/FindPythonModule.cmake b/CMake/FindPythonModule.cmake index 190b85f210d..613350e8c79 100644 --- a/CMake/FindPythonModule.cmake +++ b/CMake/FindPythonModule.cmake @@ -61,7 +61,7 @@ macro(find_python_module _module) cmake_parse_arguments(PYTHON_${_MODULE}_FIND "REQUIRED" - "HINTS" + "HINTS;VERSION" "" ${ARGN} ) @@ -75,6 +75,7 @@ macro(find_python_module _module) # Try to import the python module we need to find, and get its file path. if(PYTHON_EXECUTABLE) set(ENV{PYTHONPATH} ${PYTHON_${_MODULE}_FIND_HINTS}:$ENV{PYTHONPATH}) + set(_cmd "from __future__ import print_function; import ${_module}; print(${_module}.__file__)") execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c" "${_cmd}" @@ -83,6 +84,19 @@ macro(find_python_module _module) ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + set(_cmd "from __future__ import print_function; import ${_module}; print(${_module}.__version__)") + if(${PYTHON_${_MODULE}_FIND_VERSION}) # Check the version of the module + execute_process( + COMMAND "${PYTHON_EXECUTABLE}" "-c" "${_cmd}" + RESULT_VARIABLE _result_version + OUTPUT_VARIABLE _output_version + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + message(STATUS "requested version ${PYTHON_${_module}_FIND_VERSION}") + if(${_output_version} VERSION_LESS ${PYTHON_${_MODULE}_FIND_VERSION} ) + message(FATAL_ERROR "The installed version of PYTHON_${_MODULE} is <= ${PYTHON_${_MODULE}_FIND_VERSION}" ) + endif() + endif() # Set PYTHON_<MODULE> variable in the cache, if <module> was found. if(_result EQUAL 0) set(PYTHON_${_MODULE} ${_output} CACHE FILEPATH diff --git a/LCU/Maintenance/DBInterface/CMakeLists.txt b/LCU/Maintenance/DBInterface/CMakeLists.txt index 22ab80dd164..996a1805090 100644 --- a/LCU/Maintenance/DBInterface/CMakeLists.txt +++ b/LCU/Maintenance/DBInterface/CMakeLists.txt @@ -12,7 +12,7 @@ find_python_module(django REQUIRED) find_python_module(psycopg2 REQUIRED) find_python_module(rest_framework REQUIRED) #sudo pip install djangorestframework find_python_module(requests REQUIRED) -find_python_module(celery REQUIRED) +find_python_module(celery REQUIRED VERSION 4) find_python_module(django_filters REQUIRED) -- GitLab