From d6f5a0445813f2d934c2031522015ca2830976fe Mon Sep 17 00:00:00 2001
From: Andre Sailer <andre.philippe.sailer@cern.ch>
Date: Tue, 3 Nov 2020 10:52:11 +0100
Subject: [PATCH] CMAKE: fix python finding for older cmakes

---
 cmake/DD4hepBuild.cmake | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index 342fc13d3..22df262af 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()
-- 
GitLab