From 0f0053b143b686ee8e63f3a4824280b40d127590 Mon Sep 17 00:00:00 2001 From: r-a-sattarov Date: Sun, 3 May 2020 13:48:13 +0300 Subject: [PATCH] CMake: fixed compiler check algorithm (support of C++11) CXX_STANDARD supported values are 98, 11, 14, 17 and 20. - https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html --- neo/CMakeLists.txt | 9 ++++----- neo/cmake-linux-debug-nosimd.sh | 0 neo/cmake-linux-release-nosimd.sh | 0 neo/idlib/sys/sys_defines.h | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) mode change 100644 => 100755 neo/cmake-linux-debug-nosimd.sh mode change 100644 => 100755 neo/cmake-linux-release-nosimd.sh diff --git a/neo/CMakeLists.txt b/neo/CMakeLists.txt index 71f7102b..e1b6bb45 100644 --- a/neo/CMakeLists.txt +++ b/neo/CMakeLists.txt @@ -116,18 +116,17 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") #add_definitions(-Wall) add_definitions(-Werror=format-security) add_definitions(-Werror=format) + + # Compiler check (needs -std=c++11 flag) include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) - CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_STANDARD 11) - elseif(COMPILER_SUPPORTS_CXX0X) - set(CMAKE_CXX_STANDARD 0x) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) else() message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") endif() - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) if(CPU_TYPE) add_definitions(-DCPUSTRING="${CPU_TYPE}") diff --git a/neo/cmake-linux-debug-nosimd.sh b/neo/cmake-linux-debug-nosimd.sh old mode 100644 new mode 100755 diff --git a/neo/cmake-linux-release-nosimd.sh b/neo/cmake-linux-release-nosimd.sh old mode 100644 new mode 100755 diff --git a/neo/idlib/sys/sys_defines.h b/neo/idlib/sys/sys_defines.h index 5163a1a9..71318f55 100644 --- a/neo/idlib/sys/sys_defines.h +++ b/neo/idlib/sys/sys_defines.h @@ -113,7 +113,7 @@ If you have questions concerning this license or the applicable additional terms #define CPUSTRING "e2k" #elif defined(__aarch64__) || defined(__ARM64__) || defined(_M_ARM64) #define CPUSTRING "aarch64" - #else + #else #error unknown CPU #endif #endif