CMAKE_POLICY(SET CMP0020 OLD) # Disable automatic linking to qtmain.lib
ENDIF(WIN32)
CMAKE_POLICY(SET CMP0053 NEW) # For correct Qt 5 detection procedure
-CMAKE_POLICY(SET CMP0057 NEW) # For IF(IN_LIST) operator
IF(CMAKE_VERSION VERSION_GREATER_EQUAL 3.12)
CMAKE_POLICY(SET CMP0074 NEW) # Use ROOT variables when detecting packages
ENDIF()
# specifying -DCMAKE_CXX_EXTENSIONS=OFF
SET(SALOME_CXX_STANDARD 11 CACHE STRING "C++ standard to use")
SET(_supported_standards 11 14 17 20)
-IF(NOT ${SALOME_CXX_STANDARD} IN_LIST _supported_standards)
+SET(_standard_ok FALSE)
+FOREACH(_standard ${_supported_standards})
+ IF(SALOME_CXX_STANDARD STREQUAL _standard)
+ SET(_standard_ok TRUE)
+ BREAK()
+ ENDIF()
+ENDFOREACH()
+IF(NOT _standard_ok)
MESSAGE(FATAL_ERROR "Unsupported C++ standard: ${SALOME_CXX_STANDARD}; allowed values: ${_supported_standards}")
ENDIF()
UNSET(_supported_standards)
+UNSET(_standard)
+UNSET(_standard_ok)
MESSAGE(STATUS "Setting C++ standard to ${SALOME_CXX_STANDARD}")
SET(CMAKE_CXX_STANDARD ${SALOME_CXX_STANDARD})
SET(CMAKE_CXX_STANDARD_REQUIRED ON)