Commit f1a8cb00 authored by Paul Schütze's avatar Paul Schütze
Browse files

Merge branch 'fix-root-ver' into 'master'

GitHub PR#49: check ROOT CXX version standard env variable

See merge request allpix-squared/allpix-squared!1114
parents a552a3f8 a58d8509
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")