build: Fix loader/layer fallthrough warning
authorMark Young <marky@lunarg.com>
Wed, 12 Jul 2017 16:06:19 +0000 (10:06 -0600)
committerMark Young <marky@lunarg.com>
Thu, 13 Jul 2017 19:26:45 +0000 (13:26 -0600)
Change-Id: I04d563caa9000ccbfd5e6e509bf65ceaed9e388a

CMakeLists.txt

index ce10e9c..cc22523 100644 (file)
@@ -59,6 +59,13 @@ include_directories("${PROJECT_SOURCE_DIR}/include")
 if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
     set(COMMON_COMPILE_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers")
     set(COMMON_COMPILE_FLAGS "${COMMON_COMPILE_FLAGS} -fno-strict-aliasing -fno-builtin-memcmp")
+
+    # For GCC version 7.1 or greater, we need to disable the implicit fallthrough warning since
+    # there's no consistent way to satisfy all compilers until they all accept the C++17 standard
+    if (CMAKE_COMPILER_IS_GNUCC AND NOT (CMAKE_CXX_COMPILER_VERSION LESS 7.1))
+        set(COMMON_COMPILE_FLAGS "${COMMON_COMPILE_FLAGS} -Wimplicit-fallthrough=0")
+    endif()
+
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 ${COMMON_COMPILE_FLAGS}")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILE_FLAGS} -std=c++11 -fno-rtti")
     if (UNIX)