diff --git a/cmake/DD4hepConfig.cmake.in b/cmake/DD4hepConfig.cmake.in index a52bb608453ca8558dde5f8a7d5a60068d11ffd9..24d1c18099d8d5c1add15420a7d79f39a86a0352 100644 --- a/cmake/DD4hepConfig.cmake.in +++ b/cmake/DD4hepConfig.cmake.in @@ -21,12 +21,24 @@ if (_lastdir STREQUAL "cmake") get_filename_component(_thisdir "${_thisdir}" PATH) endif() -set ( DD4hep_DIR "${_thisdir}" ) -set ( DD4hep_ROOT "${_thisdir}" ) -set ( DD4hep_VERSION "@DD4hep_VERSION@" ) -set ( DD4hep_SOVERSION "@DD4hep_SOVERSION@" ) -set ( DD4HEP_USE_GEANT4 "@DD4HEP_USE_GEANT4@" ) -set ( DD4HEP_USE_XERCESC "@DD4HEP_USE_XERCESC@" ) +set ( DD4hep_DIR "${_thisdir}" ) +set ( DD4hep_ROOT "${_thisdir}" ) +set ( DD4hep_VERSION "@DD4hep_VERSION@" ) +set ( DD4hep_SOVERSION "@DD4hep_SOVERSION@" ) +set ( DD4HEP_USE_GEANT4 "@DD4HEP_USE_GEANT4@" ) +set ( DD4HEP_USE_XERCESC "@DD4HEP_USE_XERCESC@" ) +set ( DD4hep_BUILD_CXX_STANDARD @CMAKE_CXX_STANDARD@ ) + +# figure out if including build has compatible standard set +if("${CMAKE_CXX_STANDARD}" STREQUAL "") + set ( CMAKE_CXX_STANDARD "${DD4hep_BUILD_CXX_STANDARD}" ) +else() + if (NOT "${CMAKE_CXX_STANDARD}" EQUAL "${DD4hep_BUILD_CXX_STANDARD}") + message( SEND_ERROR "CMAKE_CXX_STANDARD is set to C++${CMAKE_CXX_STANDARD}\ + but C++${DD4hep_BUILD_CXX_STANDARD} is required.") + endif() +endif() + set ( CMAKE_CXX_STANDARD @CMAKE_CXX_STANDARD@ ) set ( CMAKE_CXX_STANDARD_REQUIRED ON ) set ( CMAKE_CXX_EXTENSIONS OFF )