diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake index 342fc13d3d06c5d9739ec1c20513d06ddc2fdc80..22df262af2cc652fe33f62f5db9387c86deb4a17 100644 --- a/cmake/DD4hepBuild.cmake +++ b/cmake/DD4hepBuild.cmake @@ -651,8 +651,15 @@ macro(DD4HEP_SETUP_ROOT_TARGETS) #Check if Python version detected matches the version used to build ROOT SET(Python_FIND_FRAMEWORK LAST) IF((TARGET ROOT::PyROOT OR TARGET ROOT::ROOTTPython) AND ${ROOT_VERSION} VERSION_GREATER_EQUAL 6.19) - dd4hep_debug( "D++> Python version used for building ROOT ${ROOT_PYTHON_VERSION}" ) - FIND_PACKAGE(Python ${ROOT_PYTHON_VERSION} EXACT REQUIRED COMPONENTS Development) + # cmake 3.17.1 doesn't include python patch level in PYTHON_VERSION + IF(CMAKE_VERSION VERSION_EQUAL 3.17.1) + string(REGEX MATCH [23]\.[0-9]+ REQUIRE_PYTHON_VERSION ${ROOT_PYTHON_VERSION}) + ELSE() + SET(REQUIRE_PYTHON_VERSION ${ROOT_PYTHON_VERSION}) + ENDIF() + dd4hep_debug("D++> Python version used for building ROOT ${ROOT_PYTHON_VERSION}" ) + dd4hep_debug("D++> Required python version ${REQUIRE_PYTHON_VERSION}") + FIND_PACKAGE(Python ${REQUIRE_PYTHON_VERSION} EXACT REQUIRED COMPONENTS Development) ELSE() FIND_PACKAGE(Python COMPONENTS Development) ENDIF()