Experimental option to build Blender with C11 support
authorSergey Sharybin <sergey.vfx@gmail.com>
Fri, 29 Jan 2016 16:43:40 +0000 (17:43 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 3 Mar 2016 06:34:18 +0000 (11:34 +0500)
It'll be nice to eventually go C11/C++11 by default, but for until
then it's kinda handy to be able to build locally with C11 support,

Reviewers: mont29, campbellbarton

Reviewed By: mont29, campbellbarton

Differential Revision: https://developer.blender.org/D1752

CMakeLists.txt

index 237f3612aa508cdbd94864fe5c11fb3040359257..7a387be91c69a44c52a352b25a0d0dbd5f1119fb 100644 (file)
@@ -467,7 +467,9 @@ if(WIN32)
        set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${})
 endif()
 
-# Experimental support of C++11
+# Experimental support of C11 and C++11
+option(WITH_C11 "Build with C11 standard enabled, for development use only!" OFF)
+mark_as_advanced(WITH_C11)
 option(WITH_CPP11 "Build with C++11 standard enabled, for development use only!" OFF)
 mark_as_advanced(WITH_CPP11)
 
@@ -2903,7 +2905,11 @@ endif()
 # Visual Studio has all standards it supports available by default
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "Intel")
        # Use C99 + GNU extensions, works with GCC, Clang, ICC
-       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
+       if(WITH_C11)
+               set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
+       else()
+               set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
+       endif()
 endif()
 
 # Include warnings first, so its possible to disable them with user defined flags