From 76fd344e648c06a7517d488a5c504399d85dc255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Petit?= Date: Thu, 8 Aug 2019 12:02:18 +0100 Subject: [PATCH] Set required language standards using CMake (#432) - remove compiler-specific options - disable GNU extensions - require C++11 and C99 for the whole code base Signed-off-by: Kevin Petit --- CMakeLists.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5831756c..445c5ae9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,11 @@ set(CLConform_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) project(CLConform${CONFORMANCE_SUFFIX}) +set(CMAKE_C_STANDARD 99) +set(CMAKE_C_STANDARD_REQUIRED ON) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + if(CMAKE_BUILD_TYPE STREQUAL "release") set (BUILD_FLAVOR "release") else(CMAKE_BUILD_TYPE STREQUAL "release") @@ -127,11 +132,11 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang" # to falsely fail. -ffloat-store also works, but WG suggested # that sse would be better. if(CMAKE_ARM_COMPILER OR ANDROID) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wno-narrowing") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -Wno-narrowing") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-narrowing") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing") else(CMAKE_ARM_COMPILER OR ANDROID) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -msse -mfpmath=sse -Wno-narrowing") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -mfpmath=sse -std=gnu++11 -Wno-narrowing") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse -mfpmath=sse -Wno-narrowing") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -mfpmath=sse -Wno-narrowing") endif(CMAKE_ARM_COMPILER OR ANDROID) else() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D__SSE__")