diff options
-rw-r--r-- | CMakeLists.txt | 24 | ||||
-rw-r--r-- | extern/libmv/CMakeLists.txt | 5 | ||||
-rw-r--r-- | intern/cycles/CMakeLists.txt | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/CMakeLists.txt | 14 | ||||
-rw-r--r-- | source/blender/compositor/CMakeLists.txt | 6 |
5 files changed, 46 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e214b23a5db..88cf5b73da6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,7 +221,11 @@ mark_as_advanced(WITH_SYSTEM_BULLET) option(WITH_GAMEENGINE "Enable Game Engine" ${_init_GAMEENGINE}) option(WITH_PLAYER "Build Player" OFF) option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO}) -option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON) + +# Compositor +option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON) +option(WITH_COMPOSITOR_WERROR "Treat warnings as errors in compositor code" OFF) +mark_as_advanced(WITH_COMPOSITOR_WERROR) # GHOST Windowing Library Options option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF) @@ -318,9 +322,11 @@ if(UNIX AND NOT APPLE) endif() # Camera/motion tracking -option(WITH_LIBMV "Enable libmv structure from motion library" ON) +option(WITH_LIBMV "Enable Libmv structure from motion library" ON) option(WITH_LIBMV_SCHUR_SPECIALIZATIONS "Enable fixed-size schur specializations." ${_init_LIBMV_SCHUR_SPECIALIZATION}) +option(WITH_LIBMV_WERROR "Treat warnings as errors in Libmv (and Blender's motion tracking) code") mark_as_advanced(WITH_LIBMV_SCHUR_SPECIALIZATIONS) +mark_as_advanced(WITH_LIBMV_WERROR) # Freestyle option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON) @@ -354,18 +360,20 @@ if(UNIX AND NOT APPLE) endif() # Cycles -option(WITH_CYCLES "Enable cycles Render Engine" ON) -option(WITH_CYCLES_STANDALONE "Build cycles standalone application" OFF) -option(WITH_CYCLES_STANDALONE_GUI "Build cycles standalone with GUI" OFF) +option(WITH_CYCLES "Enable Cycles Render Engine" ON) +option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF) +option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF) option(WITH_CYCLES_OSL "Build Cycles with OSL support" ${_init_CYCLES_OSL}) -option(WITH_CYCLES_CUDA_BINARIES "Build cycles CUDA binaries" OFF) +option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF) set(CYCLES_CUDA_BINARIES_ARCH sm_20 sm_21 sm_30 sm_35 sm_50 sm_52 CACHE STRING "CUDA architectures to build binaries for") mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) unset(PLATFORM_DEFAULT) -option(WITH_CYCLES_LOGGING "Build cycles with logging support" ON) -option(WITH_CYCLES_DEBUG "Build cycles with extra debug capabilities" OFF) +option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON) +option(WITH_CYCLES_DEBUG "Build Cycles with extra debug capabilities" OFF) +option(WITH_CYCLES_WERROR "Treat warnings as errors in Cycles code" OFF) mark_as_advanced(WITH_CYCLES_LOGGING) mark_as_advanced(WITH_CYCLES_DEBUG) +mark_as_advanced(WITH_CYCLES_WERROR) # LLVM option(WITH_LLVM "Use LLVM" OFF) diff --git a/extern/libmv/CMakeLists.txt b/extern/libmv/CMakeLists.txt index 089743567f0..eb43285fdec 100644 --- a/extern/libmv/CMakeLists.txt +++ b/extern/libmv/CMakeLists.txt @@ -37,6 +37,11 @@ set(SRC libmv-capi.h ) +if(WITH_LIBMV_WERROR) + ADD_CHECK_C_COMPILER_FLAG(CMAKE_C_FLAGS C_WERROR -Werror) + ADD_CHECK_CXX_COMPILER_FLAG(CMAKE_CXX_FLAGS C_WERROR -Werror) +endif() + if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING)) list(APPEND INC third_party/gflags diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index acd6cd69329..c252a613cef 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -14,6 +14,11 @@ include(cmake/external_libs.cmake) # todo: refactor this code to match scons # note: CXX_HAS_SSE is needed in case passing SSE flags fails altogether (gcc-arm) +if(WITH_CYCLES_WERROR) + ADD_CHECK_C_COMPILER_FLAG(CMAKE_C_FLAGS C_WERROR -Werror) + ADD_CHECK_CXX_COMPILER_FLAG(CMAKE_CXX_FLAGS C_WERROR -Werror) +endif() + if(NOT WITH_CPU_SSE) set(CXX_HAS_SSE FALSE) set(CXX_HAS_AVX FALSE) diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 37e5b36779f..4f19c271d41 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -463,6 +463,20 @@ if(WITH_LIBMV) add_definitions(-DWITH_LIBMV) endif() +if(WITH_LIBMV_WERROR) + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") + set_source_files_properties(intern/tracking.c + intern/tracking_auto.c + intern/tracking_detect.c + intern/tracking_plane_tracker.c + intern/tracking_region_tracker.c + intern/tracking_solver.c + intern/tracking_stabilize.c + intern/tracking_util.c + PROPERTIES COMPILE_FLAGS -Werror) + endif() +endif() + if(WITH_FFTW3) list(APPEND INC_SYS ${FFTW3_INCLUDE_DIRS} diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt index 0d35d060f5f..7a8c5596a57 100644 --- a/source/blender/compositor/CMakeLists.txt +++ b/source/blender/compositor/CMakeLists.txt @@ -540,6 +540,12 @@ set(SRC list(APPEND INC ${CMAKE_CURRENT_BINARY_DIR}/operations ) + +if(WITH_COMPOSITOR_WERROR) + ADD_CHECK_C_COMPILER_FLAG(CMAKE_C_FLAGS C_WERROR -Werror) + ADD_CHECK_CXX_COMPILER_FLAG(CMAKE_CXX_FLAGS C_WERROR -Werror) +endif() + data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl ${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h SRC) |