diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | intern/opensubdiv/CMakeLists.txt | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/CMakeLists.txt | 10 |
3 files changed, 17 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c2c0e8e1f75..198f6a3a6fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -230,6 +230,8 @@ option(WITH_COMPOSITOR_WERROR "Treat warnings as errors in compositor code" OFF mark_as_advanced(WITH_COMPOSITOR_WERROR) option(WITH_OPENSUBDIV "Enable OpenSubdiv for surface subdivision" OFF) +option(WITH_SUBSURF_WERROR "Treat warnings as errors in subsurf code" OFF) +mark_as_advanced(WITH_COMPOSITOR_WERROR) # GHOST Windowing Library Options option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF) diff --git a/intern/opensubdiv/CMakeLists.txt b/intern/opensubdiv/CMakeLists.txt index 3f88ba5d662..fceaeb94af9 100644 --- a/intern/opensubdiv/CMakeLists.txt +++ b/intern/opensubdiv/CMakeLists.txt @@ -50,6 +50,11 @@ set(SRC opensubdiv_partitioned.h ) +if(WITH_SUBSURF_WERROR) + ADD_CHECK_C_COMPILER_FLAG(CMAKE_C_FLAGS C_WERROR -Werror) + ADD_CHECK_CXX_COMPILER_FLAG(CMAKE_CXX_FLAGS C_WERROR -Werror) +endif() + macro(OPENSUBDIV_DEFINE_COMPONENT component) if(${${component}}) add_definitions(-D${component}) diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index f0d6cfb7e1c..5a3fb492762 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -505,6 +505,16 @@ if(WITH_OPENSUBDIV) ../../../intern/opensubdiv ${OPENSUBDIV_INCLUDE_DIRS} ) + if(WITH_SUBSURF_WERROR) + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") + set_source_files_properties(intern/CCGSubSurf.c + intern/CCGSubSurf_legacy.c + intern/CCGSubSurf_opensubdiv.c + intern/CCGSubSurf_opensubdiv_converter.c + intern/CCGSubSurf_util.c + PROPERTIES COMPILE_FLAGS -Werror) + endif() + endif() endif() ## Warnings as errors, this is too strict! |