Commit 2a8cf358 authored by Mauricio Donatti's avatar Mauricio Donatti Committed by Simon Spannagel
Browse files

check ROOT CXX version standard env variable

depending on root install procedure root version cannot be deduced by checking build flags

(cherry picked from commit a58d8509)
parent a63a64e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ The following authors, in alphabetical order, have developed or contributed to A
* Naomi Davis, DESY, [naomi](https://gitlab.cern.ch/naomi)
* Manuel Alejandro Del Rio Viera, DESY, [mdelriov](https://gitlab.cern.ch/mdelriov)
* Malinda de Silva, DESY, [ldesilva](https://gitlab.cern.ch/ldesilva)
* Mauricio Donatti, Brazilian Synchrotron Light Laboratory, [mmdonatti](https://github.com/mmdonatti)
* Katharina Dort, University of Gießen, [kdort](https://gitlab.cern.ch/kdort)
* Neal Gauvin, Université de Genève, [ngauvin](https://gitlab.cern.ch/ngauvin)
* Yajun He, DESY, [yajun](https://gitlab.cern.ch/yajun)
+15 −5
Original line number Diff line number Diff line
@@ -190,6 +190,13 @@ IF(NOT ROOT_FOUND)
ENDIF()

# Check which C++ version ROOT was built against
IF(ROOT_CXX_STANDARD MATCHES "20")
    SET(ROOT_CXX_STD 20)
ELSEIF(ROOT_CXX_STANDARD MATCHES "17")
    SET(ROOT_CXX_STD 17)
ELSEIF(NOT ROOT_CXX_STANDARD)
    #ROOT_CXX_STANDARD does not exist for ROOT versions earlier than 6.30.07.
    MESSAGE(WARNING "Could not find ROOT_CXX_STANDARD environment variable. Attempt to deduce from ROOT_CXX_FLAGS")
    IF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+2[0a].*")
        SET(ROOT_CXX_STD 20)
    ELSEIF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+1[7z].*")
@@ -199,6 +206,9 @@ ELSEIF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+.*")
    ELSE()
        MESSAGE(FATAL_ERROR "Could not deduce ROOT's C++ version from build flags: ${ROOT_CXX_FLAGS}")
    ENDIF()
ELSE()
    MESSAGE(FATAL_ERROR "ROOT was built with an unsupported C++ version, at least C++17 is required: ${ROOT_CXX_STANDARD}")
ENDIF()

# Check ROOT version
IF(NOT ${ROOT_VERSION} VERSION_GREATER "6.0")