Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt36
-rw-r--r--build_files/cmake/macros.cmake10
-rw-r--r--build_files/cmake/platform/platform_apple.cmake15
-rw-r--r--build_files/cmake/platform/platform_unix.cmake11
-rw-r--r--build_files/cmake/platform/platform_win32.cmake13
5 files changed, 26 insertions, 59 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 509de9943e2..60656a9e4fa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -613,29 +613,25 @@ endif()
# enable boost for cycles, audaspace or i18n
# otherwise if the user disabled
-if(NOT WITH_BOOST)
- # Explicitly disabled. so disable all deps.
- macro(set_and_warn
- _setting _val)
- if(${${_setting}})
- message(STATUS "'WITH_BOOST' is disabled: forcing 'set(${_setting} ${_val})'")
- endif()
- set(${_setting} ${_val})
- endmacro()
-
- set_and_warn(WITH_CYCLES OFF)
- set_and_warn(WITH_INTERNATIONAL OFF)
- set_and_warn(WITH_OPENVDB OFF)
- set_and_warn(WITH_OPENCOLORIO OFF)
- set_and_warn(WITH_QUADRIFLOW OFF)
-elseif(WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
- WITH_OPENVDB OR WITH_OPENCOLORIO)
- # Keep enabled
-else()
- # Disable boost if not needed.
+
+set_and_warn_dependency(WITH_BOOST WITH_CYCLES OFF)
+set_and_warn_dependency(WITH_BOOST WITH_INTERNATIONAL OFF)
+set_and_warn_dependency(WITH_BOOST WITH_OPENVDB OFF)
+set_and_warn_dependency(WITH_BOOST WITH_OPENCOLORIO OFF)
+set_and_warn_dependency(WITH_BOOST WITH_QUADRIFLOW OFF)
+set_and_warn_dependency(WITH_BOOST WITH_USD OFF)
+
+if(NOT (WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
+ WITH_OPENVDB OR WITH_OPENCOLORIO OR WITH_USD))
+ message(STATUS "No dependencies need 'WITH_BOOST' forcing WITH_BOOST=OFF")
set(WITH_BOOST OFF)
endif()
+set_and_warn_dependency(WITH_TBB WITH_USD OFF)
+set_and_warn_dependency(WITH_TBB WITH_OPENIMAGEDENOISE OFF)
+set_and_warn_dependency(WITH_TBB WITH_OPENVDB OFF)
+set_and_warn_dependency(WITH_TBB WITH_MOD_FLUID OFF)
+
# auto enable openimageio for cycles
if(WITH_CYCLES)
set(WITH_OPENIMAGEIO ON)
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 2d13476f09a..daf156bc3f2 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -1157,3 +1157,13 @@ macro(blender_precompile_headers target cpp header)
set_source_files_properties(${cpp} PROPERTIES COMPILE_FLAGS "/Yc${header} /Fp${pchfinal}")
endif()
endmacro()
+
+macro(set_and_warn_dependency
+ _dependency _setting _val)
+ # when $_dependency is disabled, forces $_setting = $_val
+ if(NOT ${${_dependency}} AND ${${_setting}})
+ message(STATUS "'${_dependency}' is disabled: forcing 'set(${_setting} ${_val})'")
+ set(${_setting} ${_val})
+ endif()
+endmacro()
+
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index a4de3876243..b231a2b6fa4 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -398,21 +398,6 @@ if(WITH_TBB)
find_package(TBB)
endif()
-if(NOT WITH_TBB OR NOT TBB_FOUND)
- if(WITH_OPENIMAGEDENOISE)
- message(STATUS "TBB not found, disabling OpenImageDenoise")
- set(WITH_OPENIMAGEDENOISE OFF)
- endif()
- if(WITH_OPENVDB)
- message(STATUS "TBB not found, disabling OpenVDB")
- set(WITH_OPENVDB OFF)
- endif()
- if(WITH_MOD_FLUID)
- message(STATUS "TBB not found, disabling Fluid modifier")
- set(WITH_MOD_FLUID OFF)
- endif()
-endif()
-
# CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags.
if(WITH_OPENMP)
if(CMAKE_C_COMPILER_ID MATCHES "AppleClang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0")
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index 2f9f39b46d9..91f836d5265 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -448,17 +448,6 @@ if(WITH_TBB)
find_package_wrapper(TBB)
endif()
-if(NOT WITH_TBB OR NOT TBB_FOUND)
- if(WITH_OPENIMAGEDENOISE)
- message(STATUS "TBB not found, disabling OpenImageDenoise")
- set(WITH_OPENIMAGEDENOISE OFF)
- endif()
- if(WITH_OPENVDB)
- message(STATUS "TBB not found, disabling OpenVDB")
- set(WITH_OPENVDB OFF)
- endif()
-endif()
-
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
if(HAIKU)
list(APPEND PLATFORM_LINKLIBS -lnetwork)
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index 04e5848dcfe..4241f307abc 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -570,19 +570,6 @@ if(WITH_TBB)
if(WITH_TBB_MALLOC_PROXY)
add_definitions(-DWITH_TBB_MALLOC)
endif()
-else()
- if(WITH_OPENIMAGEDENOISE)
- message(STATUS "TBB disabled, also disabling OpenImageDenoise")
- set(WITH_OPENIMAGEDENOISE OFF)
- endif()
- if(WITH_OPENVDB)
- message(STATUS "TBB disabled, also disabling OpenVDB")
- set(WITH_OPENVDB OFF)
- endif()
- if(WITH_MOD_FLUID)
- message(STATUS "TBB disabled, disabling Fluid modifier")
- set(WITH_MOD_FLUID OFF)
- endif()
endif()
# used in many places so include globally, like OpenGL