SHA256
1
0
forked from pool/gnuradio
gnuradio/CMake-set-C++-standard-to-c++11-and-C-standard-to-C99.diff
Martin Pluskal 4f2f3c00af Accepting request 497388 from home:mnhauke:sdr-devel
- Add patches to fix builds on Factory
  + 0001-gr-fec-switch-possible-C-11-code-from-constexpr-to-j.patch
  + CMake-set-C++-standard-to-c++11-and-C-standard-to-C99.diff

OBS-URL: https://build.opensuse.org/request/show/497388
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/gnuradio?expand=0&rev=10
2017-05-23 11:50:37 +00:00

60 lines
2.3 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ac65fe..0d8b63f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,31 +56,33 @@ IF (NOT MSVC)
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O2")
ENDIF()
-# Set C/C++ standard for all targets
-# NOTE: Starting with cmake v3.1 this should be used:
-# set(CMAKE_C_STANDARD 90)
-# set(CMAKE_CXX_STANDARD 98)
-
-IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98")
-ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98")
-ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98")
-ELSE()
- message(warning "C++ standard could not be set because compiler is not GNU, Clang or MSVC.")
-ENDIF()
+# Configure C++ and C standards
+IF(CMAKE_VERSION VERSION_LESS "3.1")
+ IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ ELSE()
+ MESSAGE(warning "C++ standard could not be set because compiler is not GNU, Clang or MSVC.")
+ ENDIF()
-IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
-ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "Clang")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
-ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
+ IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
+ ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "Clang")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
+ ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
+ ELSE()
+ MESSAGE(warning "C standard could not be set because compiler is not GNU, Clang or MSVC.")
+ ENDIF()
ELSE()
- message(warning "C standard could not be set because compiler is not GNU, Clang or MSVC.")
+ SET(CMAKE_C_STANDARD 99)
+ SET(CMAKE_CXX_STANDARD 11)
ENDIF()
+
# Set cmake policies.
# This will suppress developer warnings during the cmake process that can occur
# if a newer cmake version than the minimum is used.