diff options
Diffstat (limited to 'build_files')
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 |