From 08787c8f4888392d5d6746aa19562c16c8ba811e Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Thu, 10 Dec 2020 14:49:40 +0100
Subject: [PATCH] Add CMake variable to define C++ version

Use standard CMake variable to define C++ version.
Pass the version to AnalysisTree package such that code is properly
compiled.
---
 CMakeLists.txt                     | 6 ++++++
 external/InstallAnalysisTree.cmake | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 13040a1504..c151bf81c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,8 +93,14 @@ If(${POS_C++11} EQUAL -1)
     String(FIND ${_res_fairsoft_config} "-std=c++17" POS_C++11)
     If(${POS_C++11} EQUAL -1)
       Message(FATAL_ERROR "FairSoft wasn't compiled with support for c++11 or above. Please recompile FairSoft with a compiler which supports c++11, c++14 or c++17.")
+    else()
+      set(CMAKE_CXX_STANDARD 17)
     EndIf()
+  else()
+    set(CMAKE_CXX_STANDARD 14)
   EndIf()
+else()
+  set(CMAKE_CXX_STANDARD 11)
 EndIf()
 
 Execute_process(COMMAND $ENV{SIMPATH}/bin/fairsoft-config --root-version OUTPUT_VARIABLE _res_root_version OUTPUT_STRIP_TRAILING_WHITESPACE)
diff --git a/external/InstallAnalysisTree.cmake b/external/InstallAnalysisTree.cmake
index a5140c5d47..1a04182f8b 100644
--- a/external/InstallAnalysisTree.cmake
+++ b/external/InstallAnalysisTree.cmake
@@ -31,7 +31,7 @@ ExternalProject_Add(ANALYSISTREE
         -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
         -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
         -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
-        -DCMAKE_CXX_STANDARD=11
+        -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
         -DROOTSYS=${SIMPATH}
         -DBOOST_ROOT=${SIMPATH}
         -DBoost_NO_BOOST_CMAKE=ON
-- 
GitLab