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:
Diffstat (limited to 'build_files')
-rw-r--r--build_files/build_environment/cmake/clang.cmake4
-rw-r--r--build_files/build_environment/cmake/freetype.cmake1
-rw-r--r--build_files/build_environment/cmake/llvm.cmake2
-rw-r--r--build_files/build_environment/cmake/osl.cmake5
-rw-r--r--build_files/build_environment/cmake/sqlite.cmake6
-rw-r--r--build_files/build_environment/cmake/versions.cmake22
-rwxr-xr-xbuild_files/build_environment/install_deps.sh162
-rw-r--r--build_files/build_environment/patches/freetype.diff18
-rw-r--r--build_files/build_environment/patches/opencollada.diff37
-rw-r--r--build_files/build_environment/patches/openimagedenoise.diff12
-rw-r--r--build_files/build_environment/patches/openimageio_idiff.diff13
-rw-r--r--build_files/build_environment/patches/osl.diff24
-rw-r--r--build_files/cmake/Modules/FindUSD.cmake2
-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.cmake14
-rw-r--r--build_files/windows/configure_msbuild.cmd14
-rw-r--r--build_files/windows/configure_ninja.cmd5
19 files changed, 230 insertions, 147 deletions
diff --git a/build_files/build_environment/cmake/clang.cmake b/build_files/build_environment/cmake/clang.cmake
index 3231a339e17..f7dfd434d4a 100644
--- a/build_files/build_environment/cmake/clang.cmake
+++ b/build_files/build_environment/cmake/clang.cmake
@@ -46,9 +46,7 @@ if(MSVC)
set(CLANG_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/ ${HARVEST_TARGET}/llvm/)
else()
set(CLANG_HARVEST_COMMAND
- ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ &&
- ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/bin/ ${HARVEST_TARGET}/llvm/debug/bin/ &&
- ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/include/ ${HARVEST_TARGET}/llvm/debug/include/
+ ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/
)
endif()
ExternalProject_Add_Step(external_clang after_install
diff --git a/build_files/build_environment/cmake/freetype.cmake b/build_files/build_environment/cmake/freetype.cmake
index f998c94706f..30dd2eed676 100644
--- a/build_files/build_environment/cmake/freetype.cmake
+++ b/build_files/build_environment/cmake/freetype.cmake
@@ -32,7 +32,6 @@ ExternalProject_Add(external_freetype
URL_HASH MD5=${FREETYPE_HASH}
PREFIX ${BUILD_DIR}/freetype
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freetype ${DEFAULT_CMAKE_FLAGS} ${FREETYPE_EXTRA_ARGS}
- PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/freetype/src/external_freetype < ${PATCH_DIR}/freetype.diff
INSTALL_DIR ${LIBDIR}/freetype
)
diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake
index dc1a5cf8a80..3ef0445201f 100644
--- a/build_files/build_environment/cmake/llvm.cmake
+++ b/build_files/build_environment/cmake/llvm.cmake
@@ -23,6 +23,8 @@ set(LLVM_EXTRA_ARGS
-DLLVM_TARGETS_TO_BUILD=X86
-DLLVM_INCLUDE_EXAMPLES=OFF
-DLLVM_ENABLE_TERMINFO=OFF
+ -DLLVM_BUILD_LLVM_C_DYLIB=OFF
+ -DLLVM_ENABLE_UNWIND_TABLES=OFF
)
if(WIN32)
diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake
index 5113f9ded48..19636304c21 100644
--- a/build_files/build_environment/cmake/osl.cmake
+++ b/build_files/build_environment/cmake/osl.cmake
@@ -18,7 +18,7 @@
if(WIN32)
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
- set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DFLEX_EXTRA_OPTIONS="--wincompat" -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe)
+ set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe)
set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/libpng16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}")
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=0)
@@ -59,11 +59,12 @@ set(OSL_EXTRA_ARGS
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-DOSL_BUILD_TESTS=OFF
+ -DOSL_BUILD_MATERIALX=OFF
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
-DOPENIMAGEIOHOME=${LIBDIR}/openimageio/
+ -DOPENIMAGEIO_INCLUDE_DIR=${LIBDIR}/openimageio/include
-DOPENIMAGEIO_LIBRARY=${OSL_OPENIMAGEIO_LIBRARY}
- -DOPENIMAGEIO_INCLUDES=${LIBDIR}/openimageio/include
${OSL_FLEX_BISON}
-DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES}
-DBUILDSTATIC=ON
diff --git a/build_files/build_environment/cmake/sqlite.cmake b/build_files/build_environment/cmake/sqlite.cmake
index 647e50b315a..9fa2fa7c708 100644
--- a/build_files/build_environment/cmake/sqlite.cmake
+++ b/build_files/build_environment/cmake/sqlite.cmake
@@ -19,8 +19,10 @@
set(SQLITE_CONFIGURE_ENV echo .)
set(SQLITE_CONFIGURATION_ARGS)
-if(UNIX AND NOT APPLE)
- set(SQLITE_LDFLAGS -Wl,--as-needed)
+if(UNIX)
+ if(NOT APPLE)
+ set(SQLITE_LDFLAGS -Wl,--as-needed)
+ endif()
set(SQLITE_CFLAGS
"-DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_COLUMN_METADATA \
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index fda65922a7f..58c76b6e263 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -66,9 +66,9 @@ else()
set(OPENEXR_VERSION_POSTFIX)
endif()
-set(FREETYPE_VERSION 2.9.1)
+set(FREETYPE_VERSION 2.10.1)
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
-set(FREETYPE_HASH 3adb0e35d3c100c456357345ccfa8056)
+set(FREETYPE_HASH c50a3c9e5e62bdc938a6e1598a782947)
set(GLEW_VERSION 1.13.0)
set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz)
@@ -117,15 +117,15 @@ set(OPENCOLORIO_VERSION 1.1.0)
set(OPENCOLORIO_URI https://github.com/imageworks/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
set(OPENCOLORIO_HASH 802d8f5b1d1fe316ec5f76511aa611b8)
-set(LLVM_VERSION 6.0.1)
-set(LLVM_URI http://releases.llvm.org/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz)
-set(LLVM_HASH c88c98709300ce2c285391f387fecce0)
+set(LLVM_VERSION 9.0.1)
+set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz)
+set(LLVM_HASH 31eb9ce73dd2a0f8dcab8319fb03f8fc)
-set(CLANG_URI http://releases.llvm.org/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz)
-set(CLANG_HASH 4e419bd4e3b55aa06d872320f754bd85)
+set(CLANG_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/clang-${LLVM_VERSION}.src.tar.xz)
+set(CLANG_HASH 13468e4a44940efef1b75e8641752f90)
-set(OPENMP_URI http://releases.llvm.org/${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz)
-set(OPENMP_HASH 4826402ae3633c36c51ba4d0e5527d30)
+set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz)
+set(OPENMP_HASH 6eade16057edbdecb3c4eef9daa2bfcf)
set(OPENIMAGEIO_VERSION 1.8.13)
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
@@ -135,9 +135,9 @@ set(TIFF_VERSION 4.0.9)
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
set(TIFF_HASH 54bad211279cc93eb4fca31ba9bfdc79)
-set(OSL_VERSION 1.9.9)
+set(OSL_VERSION 1.10.9)
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
-set(OSL_HASH 44ad511e424965a10fce051a053b0605)
+set(OSL_HASH a94f1e8506f7e8f5e993653de5c5fa00)
set(PYTHON_VERSION 3.7.4)
set(PYTHON_SHORT_VERSION 3.7)
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index bc9ee802810..2f27eab8e3f 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -55,13 +55,13 @@ with-all,with-opencollada,with-jack,with-embree,with-oidn,\
ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,ver-osd:,ver-openvdb:,\
force-all,force-python,force-numpy,force-boost,\
force-ocio,force-openexr,force-oiio,force-llvm,force-osl,force-osd,force-openvdb,\
-force-ffmpeg,force-opencollada,force-alembic,force-embree,force-oidn,\
+force-ffmpeg,force-opencollada,force-alembic,force-embree,force-oidn,force-usd,\
build-all,build-python,build-numpy,build-boost,\
build-ocio,build-openexr,build-oiio,build-llvm,build-osl,build-osd,build-openvdb,\
-build-ffmpeg,build-opencollada,build-alembic,build-embree,build-oidn,\
+build-ffmpeg,build-opencollada,build-alembic,build-embree,build-oidn,build-usd,\
skip-python,skip-numpy,skip-boost,\
skip-ocio,skip-openexr,skip-oiio,skip-llvm,skip-osl,skip-osd,skip-openvdb,\
-skip-ffmpeg,skip-opencollada,skip-alembic,skip-embree,skip-oidn \
+skip-ffmpeg,skip-opencollada,skip-alembic,skip-embree,skip-oidn,skip-usd \
-- "$@" \
)
@@ -221,6 +221,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
--build-ffmpeg
Force the build of FFMpeg.
+ --build-usd
+ Force the build of Universal Scene Description.
+
Note about the --build-foo options:
* They force the script to prefer building dependencies rather than using available packages.
This may make things simpler and allow working around some distribution bugs, but on the other hand it will
@@ -279,6 +282,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
--force-ffmpeg
Force the rebuild of FFMpeg.
+ --force-usd
+ Force the rebuild of Universal Scene Description.
+
Note about the --force-foo options:
* They obviously only have an effect if those libraries are built by this script
(i.e. if there is no available and satisfactory package)!
@@ -328,7 +334,10 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
Unconditionally skip OpenImageDenoise installation/building.
--skip-ffmpeg
- Unconditionally skip FFMpeg installation/building.\""
+ Unconditionally skip FFMpeg installation/building.
+
+ --skip-usd
+ Unconditionally skip Universal Scene Description installation/building.\""
# ----------------------------------------------------------------------------
# Main Vars
@@ -383,7 +392,7 @@ OIIO_FORCE_BUILD=false
OIIO_FORCE_REBUILD=false
OIIO_SKIP=false
-LLVM_VERSION="6.0.1"
+LLVM_VERSION="9.0.1"
LLVM_VERSION_MIN="6.0"
LLVM_VERSION_FOUND=""
LLVM_FORCE_BUILD=false
@@ -391,7 +400,7 @@ LLVM_FORCE_REBUILD=false
LLVM_SKIP=false
# OSL needs to be compiled for now!
-OSL_VERSION="1.9.9"
+OSL_VERSION="1.10.9"
OSL_VERSION_MIN=$OSL_VERSION
OSL_FORCE_BUILD=false
OSL_FORCE_REBUILD=false
@@ -420,6 +429,11 @@ ALEMBIC_FORCE_BUILD=false
ALEMBIC_FORCE_REBUILD=false
ALEMBIC_SKIP=false
+USD_VERSION="19.11"
+USD_FORCE_BUILD=false
+USD_FORCE_REBUILD=false
+USD_SKIP=false
+
OPENCOLLADA_VERSION="1.6.68"
OPENCOLLADA_FORCE_BUILD=false
OPENCOLLADA_FORCE_REBUILD=false
@@ -628,6 +642,7 @@ while true; do
OIDN_FORCE_BUILD=true
FFMPEG_FORCE_BUILD=true
ALEMBIC_FORCE_BUILD=true
+ USD_FORCE_BUILD=true
shift; continue
;;
--build-python)
@@ -679,6 +694,9 @@ while true; do
--build-alembic)
ALEMBIC_FORCE_BUILD=true; shift; continue
;;
+ --build-usd)
+ USD_FORCE_BUILD=true; shift; continue
+ ;;
--force-all)
PYTHON_FORCE_REBUILD=true
NUMPY_FORCE_REBUILD=true
@@ -695,6 +713,7 @@ while true; do
OIDN_FORCE_REBUILD=true
FFMPEG_FORCE_REBUILD=true
ALEMBIC_FORCE_REBUILD=true
+ USD_FORCE_REBUILD=true
shift; continue
;;
--force-python)
@@ -744,6 +763,9 @@ while true; do
--force-alembic)
ALEMBIC_FORCE_REBUILD=true; shift; continue
;;
+ --force-usd)
+ USD_FORCE_REBUILD=true; shift; continue
+ ;;
--skip-python)
PYTHON_SKIP=true; shift; continue
;;
@@ -789,6 +811,9 @@ while true; do
--skip-alembic)
ALEMBIC_SKIP=true; shift; continue
;;
+ --skip-usd)
+ USD_SKIP=true; shift; continue
+ ;;
--)
# no more arguments to parse
break
@@ -895,6 +920,8 @@ ALEMBIC_SOURCE=( "https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.
# ALEMBIC_SOURCE_REPO_UID="e6c90d4faa32c4550adeaaf3f556dad4b73a92bb"
# ALEMBIC_SOURCE_REPO_BRANCH="master"
+USD_SOURCE=( "https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz" )
+
OPENCOLLADA_USE_REPO=false
OPENCOLLADA_SOURCE=( "https://github.com/KhronosGroup/OpenCOLLADA/archive/v${OPENCOLLADA_VERSION}.tar.gz" )
#~ OPENCOLLADA_SOURCE_REPO=( "https://github.com/KhronosGroup/OpenCOLLADA.git" )
@@ -956,7 +983,8 @@ You may also want to build them yourself (optional ones are [between brackets]):
* [OpenCollada $OPENCOLLADA_VERSION] (from $OPENCOLLADA_SOURCE).
* [Embree $EMBREE_VERSION] (from $EMBREE_SOURCE).
* [OpenImageDenoise $OIDN_VERSION] (from $OIDN_SOURCE).
- * [Alembic $ALEMBIC_VERSION] (from $ALEMBIC_SOURCE).\""
+ * [Alembic $ALEMBIC_VERSION] (from $ALEMBIC_SOURCE).
+ * [Universal Scene Description $USD_VERSION] (from $USD_SOURCE).\""
if [ "$DO_SHOW_DEPS" = true ]; then
PRINT ""
@@ -2053,7 +2081,7 @@ compile_OSL() {
fi
if [ -d $INST/oiio ]; then
- cmake_d="$cmake_d -D OPENIMAGEIOHOME=$INST/oiio"
+ cmake_d="$cmake_d -D OPENIMAGEIO_ROOT_DIR=$INST/oiio"
fi
if [ ! -z $LLVM_VERSION_FOUND ]; then
@@ -2477,9 +2505,90 @@ compile_ALEMBIC() {
run_ldconfig "alembic"
}
+#### Build USD ####
+_init_usd() {
+ _src=$SRC/USD-$USD_VERSION
+ _git=false
+ _inst=$INST/usd-$USD_VERSION
+ _inst_shortcut=$INST/usd
+}
+
+clean_USD() {
+ _init_usd
+ _clean
+}
+
+compile_USD() {
+ if [ "$NO_BUILD" = true ]; then
+ WARNING "--no-build enabled, USD will not be compiled!"
+ return
+ fi
+
+ # To be changed each time we make edits that would modify the compiled result!
+ usd_magic=1
+ _init_usd
+
+ # Clean install if needed!
+ magic_compile_check usd-$USD_VERSION $usd_magic
+ if [ $? -eq 1 -o "$USD_FORCE_REBUILD" = true ]; then
+ clean_USD
+ fi
+
+ if [ ! -d $_inst ]; then
+ INFO "Building USD-$USD_VERSION"
+
+ prepare_opt
+
+ if [ ! -d $_src ]; then
+ mkdir -p $SRC
+ download USD_SOURCE[@] "$_src.tar.gz"
+
+ INFO "Unpacking USD-$USD_VERSION"
+ tar -C $SRC -xf $_src.tar.gz
+ patch -d $_src -p1 < $SCRIPT_DIR/patches/usd.diff
+ fi
+
+ cd $_src
+
+ cmake_d="-D CMAKE_INSTALL_PREFIX=$_inst"
+ # For the reasoning behind these options, please see usd.cmake.
+ if [ -d $INST/boost ]; then
+ cmake_d="$cmake_d $cmake_d -D BOOST_ROOT=$INST/boost"
+ fi
+ cmake_d="$cmake_d -DPXR_SET_INTERNAL_NAMESPACE=usdBlender"
+ cmake_d="$cmake_d -DPXR_ENABLE_PYTHON_SUPPORT=OFF"
+ cmake_d="$cmake_d -DPXR_BUILD_IMAGING=OFF"
+ cmake_d="$cmake_d -DPXR_BUILD_TESTS=OFF"
+ cmake_d="$cmake_d -DBUILD_SHARED_LIBS=ON"
+ cmake_d="$cmake_d -DPXR_BUILD_MONOLITHIC=ON"
+ cmake_d="$cmake_d -DPXR_BUILD_USD_TOOLS=OFF"
+ cmake_d="$cmake_d -DCMAKE_DEBUG_POSTFIX=_d"
+
+ cmake $cmake_d ./
+ make -j$THREADS install
+ make clean
+
+ if [ -d $_inst ]; then
+ _create_inst_shortcut
+ else
+ ERROR "USD-$USD_VERSION failed to compile, exiting"
+ exit 1
+ fi
+
+ magic_compile_set usd-$USD_VERSION $usd_magic
+
+ cd $CWD
+ INFO "Done compiling USD-$USD_VERSION!"
+ else
+ INFO "Own USD-$USD_VERSION is up to date, nothing to do!"
+ INFO "If you want to force rebuild of this lib, use the --force-usd option."
+ fi
+
+ run_ldconfig "usd"
+}
+
# ----------------------------------------------------------------------------
# Build OpenCOLLADA
-
_init_opencollada() {
_src=$SRC/OpenCOLLADA-$OPENCOLLADA_VERSION
_git=true
@@ -3332,6 +3441,15 @@ install_DEB() {
compile_ALEMBIC
fi
+ PRINT ""
+ if [ "$USD_SKIP" = true ]; then
+ WARNING "Skipping USD installation, as requested..."
+ elif [ "$USD_FORCE_BUILD" = true ]; then
+ INFO "Forced USD building, as requested..."
+ compile_USD
+ else
+ compile_USD
+ fi
if [ "$WITH_OPENCOLLADA" = true ]; then
_do_compile_collada=false
@@ -3936,6 +4054,15 @@ install_RPM() {
compile_ALEMBIC
fi
+ PRINT ""
+ if [ "$USD_SKIP" = true ]; then
+ WARNING "Skipping USD installation, as requested..."
+ elif [ "$USD_FORCE_BUILD" = true ]; then
+ INFO "Forced USD building, as requested..."
+ compile_USD
+ else
+ compile_USD
+ fi
if [ "$WITH_OPENCOLLADA" = true ]; then
PRINT ""
@@ -4418,6 +4545,15 @@ install_ARCH() {
compile_ALEMBIC
fi
+ PRINT ""
+ if [ "$USD_SKIP" = true ]; then
+ WARNING "Skipping USD installation, as requested..."
+ elif [ "$USD_FORCE_BUILD" = true ]; then
+ INFO "Forced USD building, as requested..."
+ compile_USD
+ else
+ compile_USD
+ fi
if [ "$WITH_OPENCOLLADA" = true ]; then
PRINT ""
@@ -4785,7 +4921,7 @@ print_info() {
_buildargs="-U *SNDFILE* -U *PYTHON* -U *BOOST* -U *Boost*"
_buildargs="$_buildargs -U *OPENCOLORIO* -U *OPENEXR* -U *OPENIMAGEIO* -U *LLVM* -U *CYCLES*"
- _buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC*"
+ _buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC* -U *USD*"
_1="-D WITH_CODEC_SNDFILE=ON"
PRINT " $_1"
@@ -4942,6 +5078,12 @@ print_info() {
fi
fi
+ if [ "$USD_SKIP" = false ]; then
+ _1="-D WITH_USD=ON"
+ PRINT " $_1"
+ _buildargs="$_buildargs $_1"
+ fi
+
if [ "$NO_SYSTEM_GLEW" = true ]; then
_1="-D WITH_SYSTEM_GLEW=OFF"
PRINT " $_1"
diff --git a/build_files/build_environment/patches/freetype.diff b/build_files/build_environment/patches/freetype.diff
deleted file mode 100644
index cf952234795..00000000000
--- a/build_files/build_environment/patches/freetype.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -NaurBb b/CMakeLists.txt a/CMakeLists.txt
---- b/CMakeLists.txt 2018-05-01 12:45:46 -0600
-+++ a/CMakeLists.txt 2018-08-08 13:03:22 -0600
-@@ -229,9 +229,12 @@
- endif ()
- string(REPLACE "/undef " "#undef "
- FTCONFIG_H "${FTCONFIG_H}")
-- file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
-- "${FTCONFIG_H}")
-+else()
-+ file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
-+ FTCONFIG_H)
- endif ()
-+file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
-+ "${FTCONFIG_H}")
-
-
- # Create the options file
diff --git a/build_files/build_environment/patches/opencollada.diff b/build_files/build_environment/patches/opencollada.diff
index 56f352febfc..e7f563acaa1 100644
--- a/build_files/build_environment/patches/opencollada.diff
+++ b/build_files/build_environment/patches/opencollada.diff
@@ -3,19 +3,19 @@ index 95abbe2..4f14f30 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -254,11 +254,11 @@ if(USE_STATIC_MSVC_RUNTIME)
- endif()
-
- #adding PCRE
--find_package(PCRE)
-+#find_package(PCRE)
- if (PCRE_FOUND)
- message(STATUS "SUCCESSFUL: PCRE found")
- else () # if pcre not found building its local copy from ./Externals
-- if (WIN32 OR APPLE)
-+ if (1)
- message("WARNING: Native PCRE not found, taking PCRE from ./Externals")
- add_definitions(-DPCRE_STATIC)
- add_subdirectory(${EXTERNAL_LIBRARIES}/pcre)
+ endif()
+
+ #adding PCRE
+-find_package(PCRE)
++#find_package(PCRE)
+ if (PCRE_FOUND)
+ message(STATUS "SUCCESSFUL: PCRE found")
+ else () # if pcre not found building its local copy from ./Externals
+- if (WIN32 OR APPLE)
++ if (1)
+ message("WARNING: Native PCRE not found, taking PCRE from ./Externals")
+ add_definitions(-DPCRE_STATIC)
+ add_subdirectory(${EXTERNAL_LIBRARIES}/pcre)
diff --git a/DAEValidator/library/include/no_warning_begin b/DAEValidator/library/include/no_warning_begin
index 7a69c32..defb315 100644
--- a/DAEValidator/library/include/no_warning_begin
@@ -74,3 +74,14 @@ index 897e4dcf..98a69ff1 100644
#endif
namespace opencollada
+diff -Naur orig/Externals/LibXML/CMakeLists.txt external_opencollada/Externals/LibXML/CMakeLists.txt
+--- orig/Externals/LibXML/CMakeLists.txt 2018-11-26 15:43:10 -0700
++++ external_opencollada/Externals/LibXML/CMakeLists.txt 2020-01-21 14:15:04 -0700
+@@ -9,6 +9,7 @@
+ -DLIBXML_SCHEMAS_ENABLED
+ -DLIBXML_XPATH_ENABLED
+ -DLIBXML_TREE_ENABLED
++ -DLIBXML_STATIC
+ )
+
+ if(USE_STATIC_MSVC_RUNTIME)
diff --git a/build_files/build_environment/patches/openimagedenoise.diff b/build_files/build_environment/patches/openimagedenoise.diff
index 08d7a397a6d..f83b0776c30 100644
--- a/build_files/build_environment/patches/openimagedenoise.diff
+++ b/build_files/build_environment/patches/openimagedenoise.diff
@@ -117,3 +117,15 @@ diff '--ignore-matching-lines=:' -ur '--exclude=*.svn*' -u -r
if(OIDN_STATIC_LIB)
set(OIDN_LIB_TYPE STATIC)
else()
+diff -Naur orig/core/api.cpp external_openimagedenoise/core/api.cpp
+--- orig/core/api.cpp 2019-07-19 08:37:04 -0600
++++ external_openimagedenoise/core/api.cpp 2020-01-21 15:10:56 -0700
+@@ -15,7 +15,7 @@
+ // ======================================================================== //
+
+ #ifdef _WIN32
+-# define OIDN_API extern "C" __declspec(dllexport)
++# define OIDN_API extern "C"
+ #else
+ # define OIDN_API extern "C" __attribute__ ((visibility ("default")))
+ #endif
diff --git a/build_files/build_environment/patches/openimageio_idiff.diff b/build_files/build_environment/patches/openimageio_idiff.diff
deleted file mode 100644
index ae1884f76b5..00000000000
--- a/build_files/build_environment/patches/openimageio_idiff.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- idiff.cpp 2016-11-18 11:42:01 -0700
-+++ idiff.cpp 2016-11-18 11:41:25 -0700
-@@ -308,8 +308,10 @@
- // printed with three digit exponent. We change this behaviour to fit
- // Linux way
- #ifdef _MSC_VER
-+#if _MSC_VER < 1900
- _set_output_format(_TWO_DIGIT_EXPONENT);
- #endif
-+#endif
- std::streamsize precis = std::cout.precision();
- std::cout << " " << cr.nwarn << " pixels ("
- << std::setprecision(3) << (100.0*cr.nwarn / npels)
diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff
index 36cda06f394..b9b5937ae2b 100644
--- a/build_files/build_environment/patches/osl.diff
+++ b/build_files/build_environment/patches/osl.diff
@@ -1,15 +1,3 @@
-diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake external_osl/src/cmake/flexbison.cmake
---- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake 2018-05-01 16:39:02 -0600
-+++ external_osl/src/cmake/flexbison.cmake 2018-08-23 15:42:27 -0600
-@@ -77,7 +77,7 @@
- DEPENDS ${${compiler_headers}}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
- ADD_CUSTOM_COMMAND ( OUTPUT ${flexoutputcxx}
-- COMMAND ${FLEX_EXECUTABLE} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
-+ COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXTRA_OPTIONS} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
- MAIN_DEPENDENCY ${flexsrc}
- DEPENDS ${${compiler_headers}}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej external_osl/src/cmake/flexbison.cmake.rej
--- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej 1969-12-31 17:00:00 -0700
+++ external_osl/src/cmake/flexbison.cmake.rej 2018-08-24 17:42:11 -0600
@@ -45,18 +33,6 @@ diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h externa
private:
class MemoryManager;
-diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/oslnoise.h external_osl/src/include/OSL/oslnoise.h
---- OpenShadingLanguage-Release-1.9.9/src/include/OSL/oslnoise.h 2018-05-01 16:39:02 -0600
-+++ external_osl/src/include/OSL/oslnoise.h 2018-08-24 17:42:11 -0600
-@@ -762,7 +762,7 @@
- // packed into a float4. We assume T is float and VECTYPE is float4,
- // but it also works if T is Dual2<float> and VECTYPE is Dual2<float4>.
- template<typename T, typename VECTYPE>
--OIIO_FORCEINLINE T bilerp (VECTYPE abcd, T u, T v) {
-+OIIO_FORCEINLINE T bilerp (VECTYPE& abcd, T u, T v) {
- VECTYPE xx = OIIO::lerp (abcd, OIIO::simd::shuffle<1,1,3,3>(abcd), u);
- return OIIO::simd::extract<0>(OIIO::lerp (xx,OIIO::simd::shuffle<2>(xx), v));
- }
diff -Naur OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
--- OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp 2018-05-01 16:39:02 -0600
+++ external_osl/src/liboslexec/llvm_util.cpp 2018-08-25 14:04:27 -0600
diff --git a/build_files/cmake/Modules/FindUSD.cmake b/build_files/cmake/Modules/FindUSD.cmake
index f14843c657e..97830af1dd9 100644
--- a/build_files/cmake/Modules/FindUSD.cmake
+++ b/build_files/cmake/Modules/FindUSD.cmake
@@ -42,7 +42,7 @@ FIND_PATH(USD_INCLUDE_DIR
FIND_LIBRARY(USD_LIBRARY
NAMES
- usd_m
+ usd_m usd_ms
HINTS
${_usd_SEARCH_DIRS}
PATH_SUFFIXES
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..653b3a9f508 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
@@ -674,6 +661,7 @@ if(WITH_USD)
set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include)
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib)
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib)
+ set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib/usd)
set(USD_LIBRARIES
debug ${USD_DEBUG_LIB}
optimized ${USD_RELEASE_LIB}
diff --git a/build_files/windows/configure_msbuild.cmd b/build_files/windows/configure_msbuild.cmd
index 7cb0a4df689..3c1194011cd 100644
--- a/build_files/windows/configure_msbuild.cmd
+++ b/build_files/windows/configure_msbuild.cmd
@@ -59,21 +59,17 @@ if "%MUST_CONFIGURE%"=="1" (
exit /b 1
)
)
-
-echo call "%VCVARS%" %BUILD_ARCH% > %BUILD_DIR%\rebuild.cmd
+echo echo off > %BUILD_DIR%\rebuild.cmd
+echo if "%%VSCMD_VER%%" == "" ^( >> %BUILD_DIR%\rebuild.cmd
+echo call "%VCVARS%" %BUILD_ARCH% >> %BUILD_DIR%\rebuild.cmd
+echo ^) >> %BUILD_DIR%\rebuild.cmd
echo "%CMAKE%" . >> %BUILD_DIR%\rebuild.cmd
echo echo %%TIME%% ^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
echo msbuild ^
- %BUILD_DIR%\Blender.sln ^
- /target:build ^
+ %BUILD_DIR%\INSTALL.vcxproj ^
/property:Configuration=%BUILD_TYPE% ^
/maxcpucount:2 ^
/verbosity:minimal ^
/p:platform=%MSBUILD_PLATFORM% ^
/flp:Summary;Verbosity=minimal;LogFile=%BUILD_DIR%\Build.log >> %BUILD_DIR%\rebuild.cmd
-echo msbuild ^
- %BUILD_DIR%\INSTALL.vcxproj ^
- /property:Configuration=%BUILD_TYPE% ^
- /verbosity:minimal ^
- /p:platform=%MSBUILD_PLATFORM% >> %BUILD_DIR%\rebuild.cmd
echo echo %%TIME%% ^>^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd \ No newline at end of file
diff --git a/build_files/windows/configure_ninja.cmd b/build_files/windows/configure_ninja.cmd
index 8f766e855a6..1650e43cda9 100644
--- a/build_files/windows/configure_ninja.cmd
+++ b/build_files/windows/configure_ninja.cmd
@@ -80,7 +80,10 @@ if "%MUST_CONFIGURE%"=="1" (
)
)
-echo call "%VCVARS%" %BUILD_ARCH% > %BUILD_DIR%\rebuild.cmd
+echo echo off > %BUILD_DIR%\rebuild.cmd
+echo if "%%VSCMD_VER%%" == "" ^( >> %BUILD_DIR%\rebuild.cmd
+echo call "%VCVARS%" %BUILD_ARCH% >> %BUILD_DIR%\rebuild.cmd
+echo ^) >> %BUILD_DIR%\rebuild.cmd
echo echo %%TIME%% ^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
echo ninja install >> %BUILD_DIR%\rebuild.cmd
echo echo %%TIME%% ^>^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd \ No newline at end of file