From: vsr Date: Thu, 12 Nov 2020 09:09:08 +0000 (+0300) Subject: Replace IN_LIST operator to avoid error when working with older versions of CMake X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9047ec0b72a54ad0df59b5e232be2acbf5796511;p=tools%2Fconfiguration.git Replace IN_LIST operator to avoid error when working with older versions of CMake --- diff --git a/cmake/SalomeMacros.cmake b/cmake/SalomeMacros.cmake index d24b042..33078a9 100644 --- a/cmake/SalomeMacros.cmake +++ b/cmake/SalomeMacros.cmake @@ -27,7 +27,6 @@ IF(WIN32) 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() diff --git a/cmake/SalomeSetupPlatform.cmake b/cmake/SalomeSetupPlatform.cmake index 55ffc5d..87cfdf1 100644 --- a/cmake/SalomeSetupPlatform.cmake +++ b/cmake/SalomeSetupPlatform.cmake @@ -111,10 +111,19 @@ 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)