diff options
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/build_environment/CMakeLists.txt | 1 | ||||
-rw-r--r-- | build_files/build_environment/cmake/versions.cmake | 1 | ||||
-rwxr-xr-x | build_files/build_environment/install_deps.sh | 10 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindEmbree.cmake | 8 | ||||
-rw-r--r-- | build_files/cmake/Modules/GTestTesting.cmake | 3 | ||||
-rw-r--r-- | build_files/cmake/config/blender_full.cmake | 3 | ||||
-rw-r--r-- | build_files/cmake/config/blender_lite.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/config/blender_release.cmake | 3 | ||||
-rw-r--r-- | build_files/cmake/macros.cmake | 4 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_apple.cmake | 9 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_unix.cmake | 17 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_win32.cmake | 7 |
12 files changed, 60 insertions, 7 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 6415d270773..6368430235c 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -120,6 +120,7 @@ endif() if(NOT WIN32 OR ENABLE_MINGW64) include(cmake/gmp.cmake) include(cmake/openjpeg.cmake) + include(cmake/gmp.cmake) if(NOT WIN32 OR BUILD_MODE STREQUAL Release) if(WIN32) include(cmake/zlib_mingw.cmake) diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 30a0b1184c2..eb5df8204b5 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -312,6 +312,7 @@ set(NASM_HASH f4fd1329b1713e1ccd34b2fc121c4bcd278c9f91cc4cb205ae8fcd2e4728dd14) set(XR_OPENXR_SDK_VERSION 1.0.8) set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz) set(XR_OPENXR_SDK_HASH c6de63d2e0f9029aa58dfa97cad8ce07) + set(ISPC_VERSION v1.13.0) set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz) set(ISPC_HASH 4bf5e8d0020c4b9980faa702c1a6f25f) diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh index 130173d7f01..43606f49c78 100755 --- a/build_files/build_environment/install_deps.sh +++ b/build_files/build_environment/install_deps.sh @@ -1087,7 +1087,7 @@ Those libraries should be available as packages in all recent distributions (opt * libjpeg, libpng, libtiff, [openjpeg2], [libopenal]. * libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed). * libsqlite3, libbz2, libssl, libfftw3, libxml2, libtinyxml, yasm, libyaml-cpp. - * libsdl2, libglew, [libgmp], [libglewmx].\"" + * libsdl2, libglew, [libgmp], [libglewmx], fontconfig.\"" DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES: @@ -3654,7 +3654,7 @@ install_DEB() { THEORA_DEV="libtheora-dev" _packages="gawk cmake cmake-curses-gui build-essential libjpeg-dev libpng-dev libtiff-dev \ - git libfreetype6-dev libx11-dev flex bison libxxf86vm-dev \ + git libfreetype6-dev libfontconfig-dev libx11-dev flex bison libxxf86vm-dev \ libxcursor-dev libxi-dev wget libsqlite3-dev libxrandr-dev libxinerama-dev \ libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev \ libopenal-dev libglew-dev yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV \ @@ -4320,7 +4320,7 @@ install_RPM() { OGG_DEV="libogg-devel" THEORA_DEV="libtheora-devel" - _packages="gcc gcc-c++ git make cmake tar bzip2 xz findutils flex bison \ + _packages="gcc gcc-c++ git make cmake tar bzip2 xz findutils flex bison fontconfig-devel \ libtiff-devel libjpeg-devel libpng-devel sqlite-devel fftw-devel SDL2-devel \ libX11-devel libXi-devel libXcursor-devel libXrandr-devel libXinerama-devel \ wget ncurses-devel readline-devel $OPENJPEG_DEV openal-soft-devel \ @@ -4898,7 +4898,7 @@ install_ARCH() { BASE_DEVEL=`pacman -Sgq base-devel | sed -e 's/^gcc$/gcc-multilib/g' | paste -s -d' '` fi - _packages="$BASE_DEVEL git cmake \ + _packages="$BASE_DEVEL git cmake fontconfig \ libxi libxcursor libxrandr libxinerama glew libpng libtiff wget openal \ $OPENJPEG_DEV $VORBIS_DEV $OGG_DEV $THEORA_DEV yasm sdl2 fftw \ libxml2 yaml-cpp tinyxml python-requests jemalloc gmp" @@ -5577,7 +5577,7 @@ print_info() { _buildargs="-U *SNDFILE* -U PYTHON* -U *BOOST* -U *Boost* -U *TBB*" _buildargs="$_buildargs -U *OPENCOLORIO* -U *OPENEXR* -U *OPENIMAGEIO* -U *LLVM* -U *CYCLES*" - _buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC* -U *USD*" + _buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *BLOSC* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC* -U *USD*" _buildargs="$_buildargs -U *EMBREE* -U *OPENIMAGEDENOISE* -U *OPENXR*" _1="-D WITH_CODEC_SNDFILE=ON" diff --git a/build_files/cmake/Modules/FindEmbree.cmake b/build_files/cmake/Modules/FindEmbree.cmake index ccd0d6cd40a..2b3cd8e20c4 100644 --- a/build_files/cmake/Modules/FindEmbree.cmake +++ b/build_files/cmake/Modules/FindEmbree.cmake @@ -59,6 +59,14 @@ FOREACH(COMPONENT ${_embree_FIND_COMPONENTS}) PATH_SUFFIXES lib64 lib ) + IF (NOT EMBREE_${UPPERCOMPONENT}_LIBRARY) + IF (EMBREE_EMBREE3_LIBRARY) + # If we can't find all the static libraries, try to fall back to the shared library if found. + # This allows building with a shared embree library + SET(_embree_LIBRARIES ${EMBREE_EMBREE3_LIBRARY}) + BREAK() + ENDIF () + ENDIF () LIST(APPEND _embree_LIBRARIES "${EMBREE_${UPPERCOMPONENT}_LIBRARY}") ENDFOREACH() diff --git a/build_files/cmake/Modules/GTestTesting.cmake b/build_files/cmake/Modules/GTestTesting.cmake index a744f4202da..053d5196f41 100644 --- a/build_files/cmake/Modules/GTestTesting.cmake +++ b/build_files/cmake/Modules/GTestTesting.cmake @@ -70,6 +70,9 @@ macro(BLENDER_SRC_GTEST_EX) if(WITH_TBB) target_link_libraries(${TARGET_NAME} ${TBB_LIBRARIES}) endif() + if(WITH_GMP) + target_link_libraries(${TARGET_NAME} ${GMP_LIBRARIES}) + endif() get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(GENERATOR_IS_MULTI_CONFIG) diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake index 7d3284af158..0f27ff61e8b 100644 --- a/build_files/cmake/config/blender_full.cmake +++ b/build_files/cmake/config/blender_full.cmake @@ -15,11 +15,12 @@ set(WITH_CYCLES_EMBREE ON CACHE BOOL "" FORCE) set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE) set(WITH_DRACO ON CACHE BOOL "" FORCE) set(WITH_FFTW3 ON CACHE BOOL "" FORCE) -set(WITH_GMP OFF CACHE BOOL "" FORCE) +set(WITH_GMP ON CACHE BOOL "" FORCE) set(WITH_LIBMV ON CACHE BOOL "" FORCE) set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE) set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE) set(WITH_FREESTYLE ON CACHE BOOL "" FORCE) +set(WITH_GMP ON CACHE BOOL "" FORCE) set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE) set(WITH_IK_ITASC ON CACHE BOOL "" FORCE) set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake index 16c15961c59..7a664bbc008 100644 --- a/build_files/cmake/config/blender_lite.cmake +++ b/build_files/cmake/config/blender_lite.cmake @@ -25,6 +25,7 @@ set(WITH_LIBMV OFF CACHE BOOL "" FORCE) set(WITH_LLVM OFF CACHE BOOL "" FORCE) set(WITH_COMPOSITOR OFF CACHE BOOL "" FORCE) set(WITH_FREESTYLE OFF CACHE BOOL "" FORCE) +set(WITH_GMP OFF CACHE BOOL "" FORCE) set(WITH_IK_SOLVER OFF CACHE BOOL "" FORCE) set(WITH_IK_ITASC OFF CACHE BOOL "" FORCE) set(WITH_IMAGE_CINEON OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake index ddd9aa1d766..93962d7ebb0 100644 --- a/build_files/cmake/config/blender_release.cmake +++ b/build_files/cmake/config/blender_release.cmake @@ -16,11 +16,12 @@ set(WITH_CYCLES_EMBREE ON CACHE BOOL "" FORCE) set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE) set(WITH_DRACO ON CACHE BOOL "" FORCE) set(WITH_FFTW3 ON CACHE BOOL "" FORCE) -set(WITH_GMP OFF CACHE BOOL "" FORCE) +set(WITH_GMP ON CACHE BOOL "" FORCE) set(WITH_LIBMV ON CACHE BOOL "" FORCE) set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE) set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE) set(WITH_FREESTYLE ON CACHE BOOL "" FORCE) +set(WITH_GMP ON CACHE BOOL "" FORCE) set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE) set(WITH_IK_ITASC ON CACHE BOOL "" FORCE) set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 51cfadecc3e..dcab6d58870 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -496,6 +496,10 @@ function(SETUP_LIBDIRS) link_directories(${ALEMBIC_LIBPATH}) endif() + if(WITH_GMP) + link_directories(${GMP_LIBPATH}) + endif() + if(WITH_GHOST_WAYLAND) link_directories( ${wayland-client_LIBRARY_DIRS} diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index ace5de3330c..822110cb88f 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -407,6 +407,15 @@ if(WITH_TBB) find_package(TBB) endif() +if(WITH_GMP) + find_package(GMP) + + if(NOT GMP_FOUND) + set(WITH_GMP OFF) + message(STATUS "GMP not found") + 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 83909a0cf66..3a7875ca46c 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -427,6 +427,15 @@ if(WITH_TBB) find_package_wrapper(TBB) endif() +if(WITH_GMP) + find_package(GMP) + + if(NOT GMP_FOUND) + set(WITH_GMP OFF) + message(STATUS "GMP not found") + endif() +endif() + if(WITH_XR_OPENXR) find_package(XR_OpenXR_SDK) if(NOT XR_OPENXR_SDK_FOUND) @@ -590,6 +599,14 @@ endif() if(CMAKE_COMPILER_IS_GNUCC) set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") + # `maybe-uninitialized` is unreliable in release builds, but fine in debug builds. + set(GCC_EXTRA_FLAGS_RELEASE "-Wno-maybe-uninitialized") + set(CMAKE_C_FLAGS_RELEASE "${GCC_EXTRA_FLAGS_RELEASE} ${CMAKE_C_FLAGS_RELEASE}") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "${GCC_EXTRA_FLAGS_RELEASE} ${CMAKE_C_FLAGS_RELWITHDEBINFO}") + set(CMAKE_CXX_FLAGS_RELEASE "${GCC_EXTRA_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${GCC_EXTRA_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") + unset(GCC_EXTRA_FLAGS_RELEASE) + if(WITH_LINKER_GOLD) execute_process( COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index b8af2dfc961..007f77a583f 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -136,6 +136,13 @@ add_definitions( # MSVC11 needs _ALLOW_KEYWORD_MACROS to build add_definitions(-D_ALLOW_KEYWORD_MACROS) +# RTTI is on by default even without this switch +# however having it in the CXX Flags makes it difficult +# to remove for individual files that want to disable it +# using the /GR- flag without generating a build warning +# that both /GR and /GR- are specified. +remove_cc_flag("/GR") + # We want to support Windows 7 level ABI add_definitions(-D_WIN32_WINNT=0x601) include(build_files/cmake/platform/platform_win32_bundle_crt.cmake) |