diff options
author | Ray Molenkamp <github@lazydodo.com> | 2020-02-07 17:27:40 +0300 |
---|---|---|
committer | Ray Molenkamp <github@lazydodo.com> | 2020-02-07 17:27:40 +0300 |
commit | 6477fcf40f541bcb8de24aa8023df53775cc7827 (patch) | |
tree | abdb20301bd2239b23fd32f363fe966767dd3348 /build_files/cmake | |
parent | 1a93bc2db874b10054ad2814dff5705ce751963a (diff) |
BuildSystem/Cleanup: Fix warning behaviour regarding library dependencies
Adding USD to a lite build fails to build due to boost errors, when you turn
boost on and rebuild still boost errors, boost was silently turned off since
it was not deemed needed. Once boost was forced on, it still fails due to TBB
being off.
This patch fixes:
- The Silent disabling of boost
- Add a check that USD is is not on before doing that
- move the TBB checks to a central location rather than the individual platform files
- Add USD to the TBB checks.
Differential Revision: https://developer.blender.org/D6479
Reviewers: brecht, sybren
Diffstat (limited to 'build_files/cmake')
-rw-r--r-- | build_files/cmake/macros.cmake | 10 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_apple.cmake | 15 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_unix.cmake | 11 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_win32.cmake | 13 |
4 files changed, 10 insertions, 39 deletions
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 |