diff options
Diffstat (limited to 'build_files')
39 files changed, 222 insertions, 800 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index f177560c5f6..1ca102508e1 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -45,6 +45,17 @@ cmake_minimum_required(VERSION 3.5) include(ExternalProject) include(cmake/options.cmake) include(cmake/versions.cmake) + +if(ENABLE_MINGW64) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + include(cmake/setup_mingw64.cmake) + else() + include(cmake/setup_mingw32.cmake) + endif() +else() + set(mingw_LIBDIR ${LIBDIR}) +endif() + include(cmake/zlib.cmake) include(cmake/blendthumb.cmake) include(cmake/openal.cmake) @@ -68,6 +79,9 @@ include(cmake/opencollada.cmake) include(cmake/opencolorio.cmake) include(cmake/llvm.cmake) include(cmake/clang.cmake) +if(APPLE) + include(cmake/openmp.cmake) +endif() include(cmake/openimageio.cmake) include(cmake/tiff.cmake) include(cmake/flexbison.cmake) @@ -77,6 +91,7 @@ include(cmake/openvdb.cmake) include(cmake/python.cmake) include(cmake/python_site_packages.cmake) include(cmake/numpy.cmake) + if(WITH_WEBP) include(cmake/webp.cmake) endif() @@ -84,16 +99,6 @@ if(WIN32) include(cmake/hidapi.cmake) endif() -if(ENABLE_MINGW64) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - include(cmake/setup_mingw64.cmake) - else() - include(cmake/setup_mingw32.cmake) - endif() -else() - set(mingw_LIBDIR ${LIBDIR}) -endif() - if(NOT WIN32 OR ENABLE_MINGW64) include(cmake/openjpeg.cmake) if(BUILD_MODE STREQUAL Release) @@ -105,8 +110,6 @@ if(NOT WIN32 OR ENABLE_MINGW64) include(cmake/vorbis.cmake) include(cmake/theora.cmake) include(cmake/vpx.cmake) - include(cmake/orc.cmake) - include(cmake/schroedinger.cmake) include(cmake/x264.cmake) include(cmake/xvidcore.cmake) include(cmake/faad.cmake) diff --git a/build_files/build_environment/cmake/blosc.cmake b/build_files/build_environment/cmake/blosc.cmake index 606fe8c61cc..9a5ef745985 100644 --- a/build_files/build_environment/cmake/blosc.cmake +++ b/build_files/build_environment/cmake/blosc.cmake @@ -25,6 +25,7 @@ set(BLOSC_EXTRA_ARGS -DThreads_FOUND=1 -DPTHREAD_LIBS=${LIBDIR}/pthreads/lib/pthreadVC2.lib -DPTHREAD_INCLUDE_DIR=${LIBDIR}/pthreads/inc + -DDEACTIVATE_SNAPPY=ON ) ExternalProject_Add(external_blosc diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake index 46840b7ead4..9be6ea9f011 100644 --- a/build_files/build_environment/cmake/boost.cmake +++ b/build_files/build_environment/cmake/boost.cmake @@ -26,15 +26,9 @@ if(WIN32) set(PYTHON_ARCH2 win32) set(PYTHON_OUTPUTDIR ${BUILD_DIR}/python/src/external_python/pcbuild/win32/) endif() - if(MSVC12) - set(BOOST_TOOLSET toolset=msvc-12.0) - set(BOOST_COMPILER_STRING -vc120) - set(PYTHON_COMPILER_STRING v120) - endif() if(MSVC14) set(BOOST_TOOLSET toolset=msvc-14.0) set(BOOST_COMPILER_STRING -vc140) - set(PYTHON_COMPILER_STRING v140) endif() set(JAM_FILE ${BUILD_DIR}/boost/src/external_boost/user-config.jam) set(semi_path "${PATCH_DIR}/semi.txt") @@ -53,18 +47,17 @@ if(WIN32) if(BUILD_MODE STREQUAL Release) set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-1_60/ ${HARVEST_TARGET}/boost/include/) endif() - set(BOOST_PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/boost/src/external_boost < ${PATCH_DIR}/boost.diff) elseif(APPLE) set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh) - set(BOOST_BUILD_COMMAND ./bjam) - set(BOOST_BUILD_OPTIONS toolset=clang cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} --disable-icu boost.locale.icu=off) + set(BOOST_BUILD_COMMAND ./b2) + set(BOOST_BUILD_OPTIONS toolset=darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} --disable-icu boost.locale.icu=off) set(BOOST_HARVEST_CMD echo .) set(BOOST_PATCH_COMMAND echo .) else() set(BOOST_HARVEST_CMD echo .) set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh) - set(BOOST_BUILD_COMMAND ./bjam) + set(BOOST_BUILD_COMMAND ./b2) set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off) set(BOOST_PATCH_COMMAND echo .) endif() @@ -85,23 +78,20 @@ set(BOOST_OPTIONS ${BOOST_TOOLSET} ) -if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") set(BOOST_ADDRESS_MODEL 64) -else() - set(BOOST_ADDRESS_MODEL 32) -endif() + string(TOLOWER ${BUILD_MODE} BOOST_BUILD_TYPE) ExternalProject_Add(external_boost URL ${BOOST_URI} DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${BOOST_MD5} + URL_HASH MD5=${BOOST_HASH} PREFIX ${BUILD_DIR}/boost UPDATE_COMMAND "" PATCH_COMMAND ${BOOST_PATCH_COMMAND} CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND} - BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=x86 address-model=${BOOST_ADDRESS_MODEL} variant=${BOOST_BUILD_TYPE} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install + BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=x86 address-model=${BOOST_ADDRESS_MODEL} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install BUILD_IN_SOURCE 1 INSTALL_COMMAND "${BOOST_HARVEST_CMD}" ) diff --git a/build_files/build_environment/cmake/clang.cmake b/build_files/build_environment/cmake/clang.cmake index 9a2705bc8be..699c38a293a 100644 --- a/build_files/build_environment/cmake/clang.cmake +++ b/build_files/build_environment/cmake/clang.cmake @@ -21,13 +21,22 @@ set(CLANG_EXTRA_ARGS -DCLANG_PATH_TO_LLVM_BUILD=${LIBDIR}/llvm -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_CRT_DEBUG=MTd + -DLLVM_CONFIG=${LIBDIR}/llvm/bin/llvm-config ) + +if(WIN32) + set(CLANG_GENERATOR "Ninja") +else() + set(CLANG_GENERATOR "Unix Makefiles") +endif() + + ExternalProject_Add(external_clang URL ${CLANG_URI} DOWNLOAD_DIR ${DOWNLOAD_DIR} URL_HASH MD5=${CLANG_HASH} - PATCH_COMMAND ${PATCH_CMD} -p 2 -N -R -d ${BUILD_DIR}/clang/src/external_clang < ${PATCH_DIR}/clang.diff PREFIX ${BUILD_DIR}/clang + CMAKE_GENERATOR ${CLANG_GENERATOR} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clang ${DEFAULT_CMAKE_FLAGS} ${CLANG_EXTRA_ARGS} INSTALL_DIR ${LIBDIR}/clang ) diff --git a/build_files/build_environment/cmake/ffmpeg.cmake b/build_files/build_environment/cmake/ffmpeg.cmake index 3ea1b282d9a..42504e8120b 100644 --- a/build_files/build_environment/cmake/ffmpeg.cmake +++ b/build_files/build_environment/cmake/ffmpeg.cmake @@ -16,10 +16,10 @@ # # ***** END GPL LICENSE BLOCK ***** -set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/dirac/include/dirac -I${mingw_LIBDIR}/schroedinger/include/schroedinger-1.0 -I${mingw_LIBDIR}/zlib/include") -set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/dirac/lib -L${mingw_LIBDIR}/schroedinger/lib -L${mingw_LIBDIR}/orc/lib -L${mingw_LIBDIR}/zlib/lib") +set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/zlib/include") +set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/zlib/lib") set(FFMPEG_EXTRA_FLAGS --extra-cflags=${FFMPEG_CFLAGS} --extra-ldflags=${FFMPEG_LDFLAGS}) -set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/schroedinger/lib/pkgconfig:${mingw_LIBDIR}/orc/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}) +set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}) if(WIN32) set(FFMPEG_ENV set ${FFMPEG_ENV} &&) @@ -63,7 +63,6 @@ ExternalProject_Add(external_ffmpeg --disable-libspeex --enable-libvpx --prefix=${LIBDIR}/ffmpeg - --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-zlib @@ -73,7 +72,6 @@ ExternalProject_Add(external_ffmpeg --disable-nonfree --enable-gpl --disable-postproc - --disable-x11grab --enable-libmp3lame --disable-librtmp --enable-libx264 @@ -91,7 +89,7 @@ ExternalProject_Add(external_ffmpeg --disable-securetransport --disable-indev=avfoundation --disable-indev=qtkit - --disable-sdl + --disable-sdl2 --disable-gnutls --disable-vda --disable-videotoolbox @@ -122,7 +120,6 @@ add_dependencies( external_openjpeg external_xvidcore external_x264 - external_schroedinger external_vpx external_theora external_vorbis diff --git a/build_files/build_environment/cmake/freetype.cmake b/build_files/build_environment/cmake/freetype.cmake index 751b2b1f383..1034e9f2029 100644 --- a/build_files/build_environment/cmake/freetype.cmake +++ b/build_files/build_environment/cmake/freetype.cmake @@ -16,7 +16,15 @@ # # ***** END GPL LICENSE BLOCK ***** -set(FREETYPE_EXTRA_ARGS -DCMAKE_RELEASE_POSTFIX:STRING=2ST -DCMAKE_DEBUG_POSTFIX:STRING=2ST_d -DWITH_BZip2=OFF -DWITH_HarfBuzz=OFF) +set(FREETYPE_EXTRA_ARGS + -DCMAKE_RELEASE_POSTFIX:STRING=2ST + -DCMAKE_DEBUG_POSTFIX:STRING=2ST_d + -DWITH_BZip2=OFF + -DWITH_HarfBuzz=OFF + -DFT_WITH_HARFBUZZ=OFF + -DFT_WITH_BZIP2=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE) ExternalProject_Add(external_freetype URL ${FREETYPE_URI} @@ -24,5 +32,13 @@ 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 ) + +if(BUILD_MODE STREQUAL Release AND WIN32) + ExternalProject_Add_Step(external_freetype after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype + DEPENDEES install + ) +endif() diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake index 9ebd5206d27..4bbe01974f6 100644 --- a/build_files/build_environment/cmake/harvest.cmake +++ b/build_files/build_environment/cmake/harvest.cmake @@ -35,8 +35,6 @@ if(BUILD_MODE STREQUAL Release) # jpeg rename libfile + copy include ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ && - # FreeType, straight up copy - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype && # pthreads, rename include dir ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/inc/ ${HARVEST_TARGET}/pthreads/include/ && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/lib/ ${HARVEST_TARGET}/pthreads/lib && @@ -98,17 +96,11 @@ if(BUILD_MODE STREQUAL Release) ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/ ${HARVEST_TARGET}/opencollada/ && # opensubdiv ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv ${HARVEST_TARGET}/opensubdiv && - # python - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ && # alembic ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/alembic ${HARVEST_TARGET}/alembic && # BlendThumb ${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb64/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb64.dll && ${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb32/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb.dll && - # python - ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}.tar.gz && - # numpy - ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}.tar.gz && # hidapi ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hidapi/ ${HARVEST_TARGET}/hidapi/ && # webp, straight up copy @@ -238,13 +230,12 @@ harvest(openimageio/bin openimageio/bin "maketx") harvest(openimageio/bin openimageio/bin "oiiotool") harvest(openimageio/include openimageio/include "*") harvest(openimageio/lib openimageio/lib "*.a") -harvest(openjpeg/include/openjpeg-1.5 openjpeg/include "*.h") +harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h") harvest(openjpeg/lib openjpeg/lib "*.a") harvest(opensubdiv/include opensubdiv/include "*.h") harvest(opensubdiv/lib opensubdiv/lib "*.a") harvest(openvdb/include/openvdb/openvdb openvdb/include/openvdb "*.h") harvest(openvdb/lib openvdb/lib "*.a") -harvest(orc/lib/liborc-0.4.a ffmpeg/lib/liborc.a) harvest(osl/bin osl/bin "oslc") harvest(osl/include osl/include "*.h") harvest(osl/lib osl/lib "*.a") @@ -254,7 +245,6 @@ harvest(png/lib png/lib "*.a") harvest(python/bin python/bin "python${PYTHON_SHORT_VERSION}m") harvest(python/include python/include "*h") harvest(python/lib python/lib "*") -harvest(schroedinger/lib/libschroedinger-1.0.a ffmpeg/lib/libschroedinger.a) harvest(sdl/include/SDL2 sdl/include "*.h") harvest(sdl/lib sdl/lib "libSDL2.a") harvest(sndfile/include sndfile/include "*.h") diff --git a/build_files/build_environment/cmake/jpeg.cmake b/build_files/build_environment/cmake/jpeg.cmake index 1f2b04387f0..9975bb9c4f6 100644 --- a/build_files/build_environment/cmake/jpeg.cmake +++ b/build_files/build_environment/cmake/jpeg.cmake @@ -18,7 +18,7 @@ if(WIN32) # cmake for windows - set(JPEG_EXTRA_ARGS -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d) + set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d) ExternalProject_Add(external_jpeg URL ${JPEG_URI} diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake index 6c59101f543..7390b1bf011 100644 --- a/build_files/build_environment/cmake/llvm.cmake +++ b/build_files/build_environment/cmake/llvm.cmake @@ -26,7 +26,7 @@ set(LLVM_EXTRA_ARGS ) if(WIN32) - set(LLVM_GENERATOR "NMake Makefiles") + set(LLVM_GENERATOR "Ninja") else() set(LLVM_GENERATOR "Unix Makefiles") endif() @@ -38,7 +38,6 @@ ExternalProject_Add(ll URL_HASH MD5=${LLVM_HASH} CMAKE_GENERATOR ${LLVM_GENERATOR} PREFIX ${BUILD_DIR}/ll - PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/ll/src/ll < ${PATCH_DIR}/llvm-alloca-fix.diff CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS} INSTALL_DIR ${LIBDIR}/llvm ) diff --git a/build_files/build_environment/cmake/numpy.cmake b/build_files/build_environment/cmake/numpy.cmake index 0d5d8abf7ab..fa8d9ebccba 100644 --- a/build_files/build_environment/cmake/numpy.cmake +++ b/build_files/build_environment/cmake/numpy.cmake @@ -36,7 +36,6 @@ if(WIN32) ${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/numpy/src/external_numpy/build/lib.${PYTHON_ARCH2}-${PYTHON_SHORT_VERSION}${NUMPY_DIR_POSTFIX}" ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz" "." ) - set(NUMPY_PATCH ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/numpy/src/external_numpy < ${PATCH_DIR}/numpy.diff ) else() set(NUMPY_INSTALL echo .) set(NUMPY_PATCH echo .) @@ -54,6 +53,13 @@ ExternalProject_Add(external_numpy INSTALL_COMMAND ${NUMPY_INSTALL} ) +if(WIN32) + ExternalProject_Add_Step(external_numpy after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}.tar.gz + DEPENDEES install + ) +endif() + add_dependencies( external_numpy Make_Python_Environment diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake index fdc71508e47..5e7449fe079 100644 --- a/build_files/build_environment/cmake/openimageio.cmake +++ b/build_files/build_environment/cmake/openimageio.cmake @@ -51,8 +51,8 @@ if(MSVC) set(OPENJPEG_FLAGS -DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc -DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION} - -DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjpeg${LIBEXT} - -DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjpeg${LIBEXT} + -DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT} + -DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT} ) else() set(OPENJPEG_FLAGS diff --git a/build_files/build_environment/cmake/openjpeg.cmake b/build_files/build_environment/cmake/openjpeg.cmake index 5cc49b1e519..df30783de40 100644 --- a/build_files/build_environment/cmake/openjpeg.cmake +++ b/build_files/build_environment/cmake/openjpeg.cmake @@ -58,7 +58,7 @@ if(MSVC) endif() endif() -set(OPENJPEG_LIBRARY libopenjpeg${LIBEXT}) +set(OPENJPEG_LIBRARY libopenjp2${LIBEXT}) if(MSVC) set_target_properties(external_openjpeg PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/orc.cmake b/build_files/build_environment/cmake/openmp.cmake index aac7884f49e..ba8e6248126 100644 --- a/build_files/build_environment/cmake/orc.cmake +++ b/build_files/build_environment/cmake/openmp.cmake @@ -16,17 +16,17 @@ # # ***** END GPL LICENSE BLOCK ***** -ExternalProject_Add(external_orc - URL ${ORC_URI} + +ExternalProject_Add(external_openmp + URL ${OPENMP_URI} DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${ORC_HASH} - PREFIX ${BUILD_DIR}/orc - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/orc/src/external_orc/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/orc --disable-shared --enable-static - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/orc/src/external_orc/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/orc/src/external_orc/ && make install - INSTALL_DIR ${LIBDIR}/orc + URL_HASH MD5=${OPENMP_HASH} + PREFIX ${BUILD_DIR}/openmp + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS} + INSTALL_DIR ${LIBDIR}/clang ) -if(MSVC) - set_target_properties(external_orc PROPERTIES FOLDER Mingw) -endif() +add_dependencies( + external_openmp + external_clang +) diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake index 08d43d6a0a2..c4dcf212e68 100644 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@ -126,7 +126,7 @@ else() ) set(OSX_ARCHITECTURES x86_64) set(OSX_DEPLOYMENT_TARGET 10.9) - set(OSX_SDK_VERSION 10.12) + set(OSX_SDK_VERSION 10.13) set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OSX_SDK_VERSION}.sdk) set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}") diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index 693ab1896ba..7de498bc126 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -46,13 +46,12 @@ if(WIN32) PREFIX ${BUILD_DIR}/python PATCH_COMMAND echo mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" && - mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" && - ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python.diff && - ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python/pc < ${PATCH_DIR}/pyshell.diff + mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" CONFIGURE_COMMAND "" - BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p ${PYTHON_ARCH} -c ${BUILD_MODE} -k ${PYTHON_COMPILER_STRING} + BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p ${PYTHON_ARCH} -c ${BUILD_MODE} INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll && + ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb && ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib && ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp && ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION} && @@ -62,12 +61,27 @@ if(WIN32) message("POutput = ${PYTHON_OUTPUTDIR}") else() if(APPLE) - # we need to manually add homebrew headers to get ssl module building - set(PYTHON_CFLAGS "-I/usr/local/opt/openssl/include -I${OSX_SYSROOT}/usr/include ${PLATFORM_CFLAGS}") - set(PYTHON_LDFLAGS "-L/usr/local/opt/openssl/lib ${PLATFORM_LDFLAGS}") - set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && export CFLAGS=${PYTHON_CFLAGS} && export LDFLAGS=${PYTHON_LDFLAGS}) + # we need to add homebrew pkgconfig directories to get ssl, xz + + set(BREW_PKG_CONFIG "/usr/local/opt/openssl/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig") + # disable functions that can be in 10.13 sdk but aren't available on 10.9 target + set(PYTHON_FUNC_CONFIGS + export ac_cv_func_futimens=no && + export ac_cv_func_utimensat=no && + export ac_cv_func_basename_r=no && + export ac_cv_func_clock_getres=no && + export ac_cv_func_clock_gettime=no && + export ac_cv_func_clock_settime=no && + export ac_cv_func_dirname_r=no && + export ac_cv_func_getentropy=no && + export ac_cv_func_mkostemp=no && + export ac_cv_func_mkostemps=no && + export ac_cv_func_timingsafe_bcmp=no) + + set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && export PKG_CONFIG_PATH=${BREW_PKG_CONFIG} && ${PYTHON_FUNC_CONFIGS}) set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe) - set(PYTHON_PATCH ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_apple.diff) + #set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_apple.diff) + set(PYTHON_PATCH echo .) else() set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV}) set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python) @@ -92,39 +106,40 @@ if(MSVC) OUTPUT ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz OUTPUT ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/lib ${BUILD_DIR}/python/src/external_python/redist/lib - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_asyncio${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_asyncio${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_bz2${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_bz2${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_hashlib${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_hashlib${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_lzma${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_lzma${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_sqlite3${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_sqlite3${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ssl${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ssl${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/pyexpat${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/pyexpat${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/select${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/select${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/unicodedata${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/unicodedata${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/winsound${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/winsound${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_contextvars${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_contextvars${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ctypes${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ctypes${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ctypes_test${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ctypes_test${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_decimal${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_decimal${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_distutils_findvs${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_distutils_findvs${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_elementtree${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_elementtree${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_hashlib${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_hashlib${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_lzma${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_lzma${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_msi${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_msi${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_multiprocessing${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_multiprocessing${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_overlapped${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_overlapped${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_queue${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_queue${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_socket${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_socket${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_sqlite3${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_sqlite3${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ssl${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ssl${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testbuffer${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testbuffer${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testcapi${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testcapi${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testimportmultiple${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testimportmultiple${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testmultiphase${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testmultiphase${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/pyexpat${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/pyexpat${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/select${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/select${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/unicodedata${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/unicodedata${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/winsound${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/winsound${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/xxlimited${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/xxlimited${PYTHON_POSTFIX}.pyd COMMAND ${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/python/src/external_python/redist" ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz" "." + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}.tar.gz ) add_custom_target(Package_Python ALL DEPENDS external_python ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe) - if(MSVC12) - set(PYTHON_DISTUTIL_PATCH ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python/run/lib/distutils < ${PATCH_DIR}/python_runtime_vc2013.diff) - else() - set(PYTHON_DISTUTIL_PATCH echo "No patch needed") - endif() - add_custom_command(OUTPUT ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/redist ${BUILD_DIR}/python/src/external_python/run COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${BUILD_DIR}/python/src/external_python/run/include @@ -134,7 +149,6 @@ if(MSVC) COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib" ${BUILD_DIR}/python/src/external_python/run/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib #other things like numpy still want it though. COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe COMMAND ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe -m ensurepip --upgrade - COMMAND ${PYTHON_DISTUTIL_PATCH} ) add_custom_target(Make_Python_Environment ALL DEPENDS ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe Package_Python) endif() diff --git a/build_files/build_environment/cmake/schroedinger.cmake b/build_files/build_environment/cmake/schroedinger.cmake deleted file mode 100644 index 80bf84b06d7..00000000000 --- a/build_files/build_environment/cmake/schroedinger.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ***** END GPL LICENSE BLOCK ***** - -if(WIN32) - set(SCHROEDINGER_EXTRA_FLAGS "CFLAGS=-g -I./ -I${LIBDIR}/orc/include/orc-0.4" "LDFLAGS=-Wl,--as-needed -static-libgcc -L${LIBDIR}/orc/lib" ORC_CFLAGS=-I${LIBDIR}/orc/include/orc-0.4 ORC_LDFLAGS=-L${LIBDIR}/orc/lib ORC_LIBS=${LIBDIR}/orc/lib/liborc-0.4.a ORCC=${LIBDIR}/orc/bin/orcc.exe) -else() - set(SCHROEDINGER_CFLAGS "${PLATFORM_CFLAGS} -I./ -I${LIBDIR}/orc/include/orc-0.4") - set(SCHROEDINGER_LDFLAGS "${PLATFORM_LDFLAGS} -L${LIBDIR}/orc/lib") - set(SCHROEDINGER_EXTRA_FLAGS CFLAGS=${SCHROEDINGER_CFLAGS} LDFLAGS=${SCHROEDINGER_LDFLAGS} ORC_CFLAGS=-I${LIBDIR}/orc/include/orc-0.4 ORC_LDFLAGS=-L${LIBDIR}/orc/lib ORCC=${LIBDIR}/orc/bin/orcc) # ORC_LIBS=${LIBDIR}/orc/lib/liborc-0.4.a -endif() - -ExternalProject_Add(external_schroedinger - URL ${SCHROEDINGER_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${SCHROEDINGER_HASH} - PREFIX ${BUILD_DIR}/schroedinger - PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/schroedinger/src/external_schroedinger < ${PATCH_DIR}/schroedinger.diff - CONFIGURE_COMMAND ${CONFIGURE_ENV} && - cd ${BUILD_DIR}/schroedinger/src/external_schroedinger/ && - ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/schroedinger --disable-shared --enable-static ${SCHROEDINGER_EXTRA_FLAGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/schroedinger/src/external_schroedinger/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/schroedinger/src/external_schroedinger/ && make install - INSTALL_DIR ${LIBDIR}/schroedinger -) - -add_dependencies( - external_schroedinger - external_orc -) - -if(MSVC) - set_target_properties(external_schroedinger PROPERTIES FOLDER Mingw) -endif() diff --git a/build_files/build_environment/cmake/setup_mingw32.cmake b/build_files/build_environment/cmake/setup_mingw32.cmake index 96221bb5e10..b3df59f93c8 100644 --- a/build_files/build_environment/cmake/setup_mingw32.cmake +++ b/build_files/build_environment/cmake/setup_mingw32.cmake @@ -78,24 +78,24 @@ if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe") AND (EXISTS " endif() message("Checking for nasm") -if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.12.01-win32.zip") +if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip") message("Downloading nasm") - file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win32/nasm-2.12.01-win32.zip" "${DOWNLOAD_DIR}/nasm-2.12.01-win32.zip") + file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win32/nasm-2.13.02-win32.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip") endif() # extract nasm -if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.12.01-win32.zip")) +if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip")) message("Extracting nasm") execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.12.01-win32.zip" + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip" WORKING_DIRECTORY ${DOWNLOAD_DIR}/ ) execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.12.01/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe" + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe" ) endif() - +SET(NASM_PATH ${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe) message("Checking for mingwGet") if(NOT EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") message("Downloading mingw-get") diff --git a/build_files/build_environment/cmake/setup_mingw64.cmake b/build_files/build_environment/cmake/setup_mingw64.cmake index 9a45051ebf6..fbc0c91404c 100644 --- a/build_files/build_environment/cmake/setup_mingw64.cmake +++ b/build_files/build_environment/cmake/setup_mingw64.cmake @@ -78,23 +78,24 @@ if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/pkg-config.exe") AND (EXISTS " endif() message("Checking for nasm") -if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.12.01-win64.zip") +if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip") message("Downloading nasm") - file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win64/nasm-2.12.01-win64.zip" "${DOWNLOAD_DIR}/nasm-2.12.01-win64.zip") + file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win64/nasm-2.13.02-win64.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip") endif() # extract nasm -if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.12.01-win64.zip")) +if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip")) message("Extracting nasm") execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.12.01-win64.zip" + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip" WORKING_DIRECTORY ${DOWNLOAD_DIR}/ ) execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.12.01/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe" + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe" ) endif() +SET(NASM_PATH ${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe) message("Checking for mingwGet") if(NOT EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 361787fa956..eac8e94b539 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -24,19 +24,19 @@ set(OPENAL_VERSION 1.17.2) set(OPENAL_URI http://kcat.strangesoft.net/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2) set(OPENAL_HASH 1764e0d8fec499589b47ebc724e0913d) -set(PNG_VERSION 1.6.21) -set(PNG_URI http://prdownloads.sourceforge.net/libpng/libpng-${PNG_VERSION}.tar.gz) -set(PNG_HASH aca36ec8e0a3b406a5912243bc243717) +set(PNG_VERSION 1.6.35) +set(PNG_URI http://prdownloads.sourceforge.net/libpng/libpng-${PNG_VERSION}.tar.xz) +set(PNG_HASH 678b7e696a62a193ed3503b04bf449d6) -set(JPEG_VERSION 1.4.2) +set(JPEG_VERSION 1.5.3) set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz) -set(JPEG_HASH f9804884c1c41eb7f4febb9353a2cb27) - -set(BOOST_VERSION 1.60.0) -set(BOOST_VERSION_NODOTS 1_60_0) -set(BOOST_URI http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_NODOTS}.tar.bz2/download) -set(BOOST_MD5 65a840e1a0b13a558ff19eeb2c4f0cbe) +set(JPEG_HASH 5b7549d440b86c98a517355c102d155e) +set(BOOST_VERSION 1.68.0) +set(BOOST_VERSION_NODOTS 1_68_0) +set(BOOST_URI https://dl.bintray.com/boostorg/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_NODOTS}.tar.gz) +set(BOOST_HASH 5d8b4503582fffa9eefdb9045359c239) + set(BLOSC_VERSION 1.7.1) set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.zip) set(BLOSC_HASH ff5cc729a5a25934ef714217218eed26) @@ -45,17 +45,17 @@ set(PTHREADS_VERSION 2-9-1) set(PTHREADS_URI ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-${PTHREADS_VERSION}-release.tar.gz) set(PTHREADS_SHA512 9c06e85310766834370c3dceb83faafd397da18a32411ca7645c8eb6b9495fea54ca2872f4a3e8d83cb5fdc5dea7f3f0464be5bb9af3222a6534574a184bd551) -set(ILMBASE_VERSION 2.2.0) +set(ILMBASE_VERSION 2.2.1) set(ILMBASE_URI http://download.savannah.nongnu.org/releases/openexr/ilmbase-${ILMBASE_VERSION}.tar.gz) -set(ILMBASE_HASH b540db502c5fa42078249f43d18a4652) +set(ILMBASE_HASH 7b86128b04f0541b6bb33633e299cb44) -set(OPENEXR_VERSION 2.2.0) -set(OPENEXR_URI http://download.savannah.nongnu.org/releases/openexr/openexr-2.2.0.tar.gz) -set(OPENEXR_HASH b64e931c82aa3790329c21418373db4e) +set(OPENEXR_VERSION 2.2.1) +set(OPENEXR_URI http://download.savannah.nongnu.org/releases/openexr/openexr-${OPENEXR_VERSION}.tar.gz) +set(OPENEXR_HASH 421815c32989e1b98fc4798ee754c433) -set(FREETYPE_VERSION 263) -set(FREETYPE_URI http://download.savannah.gnu.org/releases/freetype/ft${FREETYPE_VERSION}.zip) -set(FREETYPE_HASH 0db2a43301572e5c2b4a0864f237aeeb) +set(FREETYPE_VERSION 2.9.1) +set(FREETYPE_URI http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz) +set(FREETYPE_HASH 3adb0e35d3c100c456357345ccfa8056) set(GLEW_VERSION 1.13.0) set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz) @@ -103,12 +103,15 @@ set(OPENCOLLADA_HASH 23db5087faed4bc4cc1dfe456c0d4701) set(OPENCOLORIO_URI https://github.com/imageworks/OpenColorIO/archive/6de971097c7f552300f669ed69ca0b6cf5a70843.zip) set(OPENCOLORIO_HASH c9de0fd98f26ce6f2e08d617ca68b8e4) -set(LLVM_VERSION 3.4.2) -set(LLVM_URI http://releases.llvm.org/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.gz) -set(LLVM_HASH a20669f75967440de949ac3b1bad439c) +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(CLANG_URI http://releases.llvm.org/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz) +set(CLANG_HASH 4e419bd4e3b55aa06d872320f754bd85) -set(CLANG_URI http://releases.llvm.org/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.gz) -set(CLANG_HASH 87945973b7c73038871c5f849a818588) +set(OPENMP_URI http://releases.llvm.org/${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz) +set(OPENMP_HASH 4826402ae3633c36c51ba4d0e5527d30) set(OPENIMAGEIO_VERSION 1.7.15) set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.zip) @@ -119,9 +122,9 @@ set(OPENIMAGEIO_HASH_1715 e2ece0f62c013d64c478f82265988b0b) set(OPENIMAGEIO_HASH ${OPENIMAGEIO_HASH_1715}) -set(TIFF_VERSION 4.0.6) +set(TIFF_VERSION 4.0.9) set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz) -set(TIFF_HASH d1d2e940dea0b5ad435f21f03d96dd72) +set(TIFF_HASH 54bad211279cc93eb4fca31ba9bfdc79) set(FLEXBISON_VERSION 2.5.5) set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison//win_flex_bison-2.5.5.zip) @@ -131,11 +134,11 @@ set(OSL_VERSION 1.7.5) set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.zip) set(OSL_HASH 6924dd5d453159e7b6eb106a08c358cf) -set(PYTHON_VERSION 3.6.2) -set(PYTHON_SHORT_VERSION 3.6) -set(PYTHON_SHORT_VERSION_NO_DOTS 36) +set(PYTHON_VERSION 3.7.0) +set(PYTHON_SHORT_VERSION 3.7) +set(PYTHON_SHORT_VERSION_NO_DOTS 37) set(PYTHON_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz) -set(PYTHON_HASH 2c68846471994897278364fc18730dd9) +set(PYTHON_HASH eb8c2a6b1447d50813c02714af4681f3) if(UNIX AND NOT APPLE) # Needed to be compatible with GCC 7, other platforms can upgrade later @@ -158,10 +161,10 @@ set(URLLIB3_VERSION 1.22) set(CERTIFI_VERSION 2017.7.27.1) set(REQUESTS_VERSION 2.18.4) -set(NUMPY_VERSION v1.13.1) -set(NUMPY_SHORT_VERSION 1.13) -set(NUMPY_URI https://pypi.python.org/packages/c0/3a/40967d9f5675fbb097ffec170f59c2ba19fc96373e73ad47c2cae9a30aed/numpy-1.13.1.zip) -set(NUMPY_HASH 2c3c0f4edf720c3a7b525dacc825b9ae) +set(NUMPY_VERSION v1.15.0) +set(NUMPY_SHORT_VERSION 1.15) +set(NUMPY_URI https://files.pythonhosted.org/packages/3a/20/c81632328b1a4e1db65f45c0a1350a9c5341fd4bbb8ea66cdd98da56fe2e/numpy-1.15.0.zip) +set(NUMPY_HASH 20e13185089011116a98e11c9bf8aa07) set(LAME_VERSION 3.99.5) set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.99/lame-${LAME_VERSION}.tar.gz) @@ -187,14 +190,6 @@ set(VPX_VERSION 1.5.0) set(VPX_URI http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-${VPX_VERSION}.tar.bz2) set(VPX_HASH 306d67908625675f8e188d37a81fbfafdf5068b09d9aa52702b6fbe601c76797) -set(ORC_VERSION 0.4.25) -set(ORC_URI https://gstreamer.freedesktop.org/src/orc/orc-${ORC_VERSION}.tar.xz) -set(ORC_HASH c1b1d54a58f26d483f0b3881538984789fe5d5460ab8fab74a1cacbd3d1c53d1) - -set(SCHROEDINGER_VERSION 1.0.11) -set(SCHROEDINGER_URI https://download.videolan.org/contrib/schroedinger/schroedinger-${SCHROEDINGER_VERSION}.tar.gz) -set(SCHROEDINGER_HASH 1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8cc9f912) - set(X264_URI http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20160401-2245-stable.tar.bz2) set(X264_HASH 1e9a7b835e80313aade53a9b6ff353e099de3856bf5f30a4d8dfc91281f786f5) @@ -203,18 +198,19 @@ set(XVIDCORE_URI http://downloads.xvid.org/downloads/xvidcore-${XVIDCORE_VERSION set(XVIDCORE_HASH 4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f) #this has to be in sync with the version in blenders /extern folder -set(OPENJPEG_VERSION 1.5.2) -set(OPENJPEG_SHORT_VERSION 1.5) -set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/version.${OPENJPEG_VERSION}.tar.gz) -set(OPENJPEG_HASH 3734e95edd0bef6e056815591755efd822228dc3cd866894e00a2c929026b16d) +set(OPENJPEG_VERSION 2.3.0) +set(OPENJPEG_SHORT_VERSION 2.3) +# Use slightly newer commit after release which includes a cmake fix +set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/66297f07a43.zip) +set(OPENJPEG_HASH 8242b18d908c7c42174e4231a741cfa7ce7c26b6ed5c9644feb9df7b3054310b) set(FAAD_VERSION 2-2.7) set(FAAD_URI http://downloads.sourceforge.net/faac/faad${FAAD_VERSION}.tar.bz2) set(FAAD_HASH 4c332fa23febc0e4648064685a3d4332) -set(FFMPEG_VERSION 3.2.1) +set(FFMPEG_VERSION 3.4.1) set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2) -set(FFMPEG_HASH cede174178e61f882844f5870c35ce72) +set(FFMPEG_HASH bbf3fcded80c33968c91bf323a744286) set(FFTW_VERSION 3.3.4) set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz) @@ -240,9 +236,9 @@ set(HIDAPI_UID 89a6c75dc6f45ecabd4ddfbd2bf5ba6ad8ba38b5) set(HIDAPI_URI https://github.com/TheOnlyJoey/hidapi/archive/${HIDAPI_UID}.zip) set(HIDAPI_HASH b6e22f6b514f8bcf594989f20ffc46fb) -set(WEBP_VERSION 0.5.1) +set(WEBP_VERSION 0.6.1) set(WEBP_URI https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz) -set(WEBP_HASH 3d7db92ebba5b4f679413d25c6040881) +set(WEBP_HASH b49ce9c3e3e9acae4d91bca44bb85a72) set(SPNAV_VERSION 0.2.3) set(SPNAV_URI http://downloads.sourceforge.net/project/spacenav/spacenav%20library%20%28SDK%29/libspnav%20${SPNAV_VERSION}/libspnav-${SPNAV_VERSION}.tar.gz) diff --git a/build_files/build_environment/cmake/webp.cmake b/build_files/build_environment/cmake/webp.cmake index 0504988a088..92cd41b96ff 100644 --- a/build_files/build_environment/cmake/webp.cmake +++ b/build_files/build_environment/cmake/webp.cmake @@ -37,14 +37,5 @@ ExternalProject_Add(external_webp URL_HASH MD5=${WEBP_HASH} PREFIX ${BUILD_DIR}/webp CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/webp -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${WEBP_EXTRA_ARGS} - INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp-build/${WEBP_BUILD_DIR}${LIBPREFIX}webp${LIBEXT} ${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT} && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/decode.h ${LIBDIR}/webp/include/webp/decode.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/encode.h ${LIBDIR}/webp/include/webp/encode.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/demux.h ${LIBDIR}/webp/include/webp/demux.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/extras.h ${LIBDIR}/webp/include/webp/extras.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/format_constants.h ${LIBDIR}/webp/include/webp/format_constants.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/mux.h ${LIBDIR}/webp/include/webp/mux.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/mux_types.h ${LIBDIR}/webp/include/webp/mux_types.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/webp/src/external_webp/src/webp/types.h ${LIBDIR}/webp/include/webp/types.h INSTALL_DIR ${LIBDIR}/webp ) diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh index c474c39d910..d590a80bcac 100755 --- a/build_files/build_environment/install_deps.sh +++ b/build_files/build_environment/install_deps.sh @@ -285,7 +285,7 @@ SUDO="sudo" NO_BUILD=false NO_CONFIRM=false -USE_CXX11=true # Mandatory in blender2.8 +USE_CXX11=true PYTHON_VERSION="3.6.2" PYTHON_VERSION_MIN="3.6" @@ -794,20 +794,10 @@ OPENCOLLADA_REPO_BRANCH="master" FFMPEG_SOURCE=( "http://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.bz2" ) +# C++11 is required now CXXFLAGS_BACK=$CXXFLAGS -if [ "$USE_CXX11" = true ]; then - WARNING "C++11 is now mandatory for blender2.8, this *should* go smoothly with any very recent distribution. -However, if you are experiencing linking errors (also when building Blender itself), please try the following: - * Re-run this script with '--build-all --force-all' options. - * Ensure your gcc version is at the very least 4.8, if possible you should really rather use gcc-5.1 or above. - -Please note that until the transition to C++11-built libraries if completed in your distribution, situation will -remain fuzzy and incompatibilities may happen..." - PRINT "" - PRINT "" - CXXFLAGS="$CXXFLAGS -std=c++11" - export CXXFLAGS -fi +CXXFLAGS="$CXXFLAGS -std=c++11" +export CXXFLAGS #### Show Dependencies #### @@ -1682,9 +1672,7 @@ compile_OIIO() { # fi cmake_d="$cmake_d -D USE_OCIO=OFF" - if [ "$USE_CXX11" = true ]; then - cmake_d="$cmake_d -D OIIO_BUILD_CPP11=ON" - fi + cmake_d="$cmake_d -D OIIO_BUILD_CPP11=ON" if file /bin/cp | grep -q '32-bit'; then cflags="-fPIC -m32 -march=i686" @@ -1897,9 +1885,7 @@ compile_OSL() { cmake_d="$cmake_d -D OSL_BUILD_PLUGINS=OFF" cmake_d="$cmake_d -D OSL_BUILD_TESTS=OFF" cmake_d="$cmake_d -D USE_SIMD=sse2" - if [ "$USE_CXX11" = true ]; then - cmake_d="$cmake_d -D OSL_BUILD_CPP11=1" - fi + cmake_d="$cmake_d -D OSL_BUILD_CPP11=1" #~ cmake_d="$cmake_d -D ILMBASE_VERSION=$ILMBASE_VERSION" @@ -2285,12 +2271,6 @@ compile_ALEMBIC() { cmake_d="-D CMAKE_INSTALL_PREFIX=$_inst" - # Without Boost or TR1, Alembic requires C++11. - if [ "$USE_CXX11" != true ]; then - cmake_d="$cmake_d -D ALEMBIC_LIB_USES_BOOST=ON" - cmake_d="$cmake_d -D ALEMBIC_LIB_USES_TR1=OFF" - fi - if [ -d $INST/boost ]; then if [ -d $INST/boost ]; then cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost" @@ -4227,12 +4207,6 @@ print_info() { _buildargs="$_buildargs -U *OPENCOLORIO* -U *OPENEXR* -U *OPENIMAGEIO* -U *LLVM* -U *CYCLES*" _buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC*" - if [ "$USE_CXX11" = true ]; then - _1="-D WITH_CXX11=ON" - PRINT " $_1" - _buildargs="$_buildargs $_1" - fi - _1="-D WITH_CODEC_SNDFILE=ON" PRINT " $_1" _buildargs="$_buildargs $_1" diff --git a/build_files/build_environment/patches/boost.diff b/build_files/build_environment/patches/boost.diff deleted file mode 100644 index 41b40d7a915..00000000000 --- a/build_files/build_environment/patches/boost.diff +++ /dev/null @@ -1,37 +0,0 @@ ---- a/boost/config/compiler/visualc.hpp 2015-12-08 11:55:19 -0700 -+++ b/boost/config/compiler/visualc.hpp 2018-03-17 10:29:52 -0600 -@@ -287,12 +287,3 @@ - # define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - #endif - --// --// last known and checked version is 19.00.23026 (VC++ 2015 RTM): --#if (_MSC_VER > 1900) --# if defined(BOOST_ASSERT_CONFIG) --# error "Unknown compiler version - please run the configure tests and report the results" --# else --# pragma message("Unknown compiler version - please run the configure tests and report the results") --# endif --#endif ---- a/boost/type_traits/has_nothrow_assign.hpp 2015-12-13 05:49:42 -0700 -+++ b/boost/type_traits/has_nothrow_assign.hpp 2018-05-27 11:11:02 -0600 -@@ -24,7 +24,7 @@ - #include <boost/type_traits/remove_reference.hpp> - #endif - #endif --#if defined(__GNUC__) || defined(__SUNPRO_CC) -+#if defined(__GNUC__) || defined(__SUNPRO_CC) || defined(__clang__) - #include <boost/type_traits/is_const.hpp> - #include <boost/type_traits/is_volatile.hpp> - #include <boost/type_traits/is_assignable.hpp> ---- a/boost/type_traits/has_nothrow_constructor.hpp 2015-12-13 05:49:42 -0700 -+++ b/boost/type_traits/has_nothrow_constructor.hpp 2018-05-27 11:11:02 -0600 -@@ -17,7 +17,7 @@ - #if defined(BOOST_MSVC) || defined(BOOST_INTEL) - #include <boost/type_traits/has_trivial_constructor.hpp> - #endif --#if defined(__GNUC__ ) || defined(__SUNPRO_CC) -+#if defined(__GNUC__ ) || defined(__SUNPRO_CC) || defined(__clang__) - #include <boost/type_traits/is_default_constructible.hpp> - #endif - diff --git a/build_files/build_environment/patches/clang.diff b/build_files/build_environment/patches/clang.diff deleted file mode 100644 index 724e92f8163..00000000000 --- a/build_files/build_environment/patches/clang.diff +++ /dev/null @@ -1,127 +0,0 @@ ---- cfe/trunk/lib/Serialization/ASTWriter.cpp -+++ cfe/trunk/lib/Serialization/ASTWriter.cpp -@@ -56,14 +56,14 @@ - using namespace clang::serialization; - - template <typename T, typename Allocator> --static StringRef bytes(const std::vector<T, Allocator> &v) { -+static StringRef data(const std::vector<T, Allocator> &v) { - if (v.empty()) return StringRef(); - return StringRef(reinterpret_cast<const char*>(&v[0]), - sizeof(T) * v.size()); - } - - template <typename T> --static StringRef bytes(const SmallVectorImpl<T> &v) { -+static StringRef data(const SmallVectorImpl<T> &v) { - return StringRef(reinterpret_cast<const char*>(v.data()), - sizeof(T) * v.size()); - } -@@ -1385,7 +1385,7 @@ - Record.push_back(INPUT_FILE_OFFSETS); - Record.push_back(InputFileOffsets.size()); - Record.push_back(UserFilesNum); -- Stream.EmitRecordWithBlob(OffsetsAbbrevCode, Record, bytes(InputFileOffsets)); -+ Stream.EmitRecordWithBlob(OffsetsAbbrevCode, Record, data(InputFileOffsets)); - } - - //===----------------------------------------------------------------------===// -@@ -1771,7 +1771,7 @@ - Record.push_back(SOURCE_LOCATION_OFFSETS); - Record.push_back(SLocEntryOffsets.size()); - Record.push_back(SourceMgr.getNextLocalOffset() - 1); // skip dummy -- Stream.EmitRecordWithBlob(SLocOffsetsAbbrev, Record, bytes(SLocEntryOffsets)); -+ Stream.EmitRecordWithBlob(SLocOffsetsAbbrev, Record, data(SLocEntryOffsets)); - - // Write the source location entry preloads array, telling the AST - // reader which source locations entries it should load eagerly. -@@ -2087,7 +2087,7 @@ - Record.push_back(MacroOffsets.size()); - Record.push_back(FirstMacroID - NUM_PREDEF_MACRO_IDS); - Stream.EmitRecordWithBlob(MacroOffsetAbbrev, Record, -- bytes(MacroOffsets)); -+ data(MacroOffsets)); - } - - void ASTWriter::WritePreprocessorDetail(PreprocessingRecord &PPRec) { -@@ -2185,7 +2185,7 @@ - Record.push_back(PPD_ENTITIES_OFFSETS); - Record.push_back(FirstPreprocessorEntityID - NUM_PREDEF_PP_ENTITY_IDS); - Stream.EmitRecordWithBlob(PPEOffsetAbbrev, Record, -- bytes(PreprocessedEntityOffsets)); -+ data(PreprocessedEntityOffsets)); - } - } - -@@ -2548,7 +2548,7 @@ - Record.push_back(CXX_BASE_SPECIFIER_OFFSETS); - Record.push_back(CXXBaseSpecifiersOffsets.size()); - Stream.EmitRecordWithBlob(BaseSpecifierOffsetAbbrev, Record, -- bytes(CXXBaseSpecifiersOffsets)); -+ data(CXXBaseSpecifiersOffsets)); - } - - //===----------------------------------------------------------------------===// -@@ -2623,7 +2623,7 @@ - Decls.push_back(std::make_pair((*D)->getKind(), GetDeclRef(*D))); - - ++NumLexicalDeclContexts; -- Stream.EmitRecordWithBlob(DeclContextLexicalAbbrev, Record, bytes(Decls)); -+ Stream.EmitRecordWithBlob(DeclContextLexicalAbbrev, Record, data(Decls)); - return Offset; - } - -@@ -2642,7 +2642,7 @@ - Record.push_back(TYPE_OFFSET); - Record.push_back(TypeOffsets.size()); - Record.push_back(FirstTypeID - NUM_PREDEF_TYPE_IDS); -- Stream.EmitRecordWithBlob(TypeOffsetAbbrev, Record, bytes(TypeOffsets)); -+ Stream.EmitRecordWithBlob(TypeOffsetAbbrev, Record, data(TypeOffsets)); - - // Write the declaration offsets array - Abbrev = new BitCodeAbbrev(); -@@ -2655,7 +2655,7 @@ - Record.push_back(DECL_OFFSET); - Record.push_back(DeclOffsets.size()); - Record.push_back(FirstDeclID - NUM_PREDEF_DECL_IDS); -- Stream.EmitRecordWithBlob(DeclOffsetAbbrev, Record, bytes(DeclOffsets)); -+ Stream.EmitRecordWithBlob(DeclOffsetAbbrev, Record, data(DeclOffsets)); - } - - void ASTWriter::WriteFileDeclIDsMap() { -@@ -2680,7 +2680,7 @@ - unsigned AbbrevCode = Stream.EmitAbbrev(Abbrev); - Record.push_back(FILE_SORTED_DECLS); - Record.push_back(FileSortedIDs.size()); -- Stream.EmitRecordWithBlob(AbbrevCode, Record, bytes(FileSortedIDs)); -+ Stream.EmitRecordWithBlob(AbbrevCode, Record, data(FileSortedIDs)); - } - - void ASTWriter::WriteComments() { -@@ -2893,7 +2893,7 @@ - Record.push_back(SelectorOffsets.size()); - Record.push_back(FirstSelectorID - NUM_PREDEF_SELECTOR_IDS); - Stream.EmitRecordWithBlob(SelectorOffsetAbbrev, Record, -- bytes(SelectorOffsets)); -+ data(SelectorOffsets)); - } - } - -@@ -3253,7 +3253,7 @@ - Record.push_back(IdentifierOffsets.size()); - Record.push_back(FirstIdentID - NUM_PREDEF_IDENT_IDS); - Stream.EmitRecordWithBlob(IdentifierOffsetAbbrev, Record, -- bytes(IdentifierOffsets)); -+ data(IdentifierOffsets)); - } - - //===----------------------------------------------------------------------===// -@@ -4046,7 +4046,7 @@ - Record.clear(); - Record.push_back(TU_UPDATE_LEXICAL); - Stream.EmitRecordWithBlob(TuUpdateLexicalAbbrev, Record, -- bytes(NewGlobalDecls)); -+ data(NewGlobalDecls)); - - // And a visible updates block for the translation unit. - Abv = new llvm::BitCodeAbbrev(); diff --git a/build_files/build_environment/patches/ffmpeg.diff b/build_files/build_environment/patches/ffmpeg.diff index 75fc6490031..6e925399c95 100644 --- a/build_files/build_environment/patches/ffmpeg.diff +++ b/build_files/build_environment/patches/ffmpeg.diff @@ -1,32 +1,11 @@ ---- libavutil/common.h 2016-02-14 19:29:42 -0700 -+++ libavutil/common.h 2016-03-30 09:50:29 -0600 -@@ -99,6 +99,11 @@ - #define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) - #define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0])) - -+//msvc helper -+#ifdef _MSC_VER -+#define inline __inline -+#endif -+ - /* misc math functions */ - - #ifdef HAVE_AV_CONFIG_H --- configure 2016-11-26 03:12:05.000000000 +0100 +++ configure 2017-04-05 03:24:35.000000000 +0200 -@@ -1899,7 +1899,6 @@ - access - aligned_malloc - arc4random -- clock_gettime - closesocket - CommandLineToArgvW - CoTaskMemFree -@@ -5494,7 +5493,6 @@ +@@ -5494,7 +5493,5 @@ check_func access check_func_headers stdlib.h arc4random --check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; } +-check_func_headers time.h clock_gettime || +- { check_lib clock_gettime time.h clock_gettime -lrt && LIBRT="-lrt"; } check_func fcntl check_func fork check_func gethrtime diff --git a/build_files/build_environment/patches/freetype.diff b/build_files/build_environment/patches/freetype.diff new file mode 100644 index 00000000000..cf952234795 --- /dev/null +++ b/build_files/build_environment/patches/freetype.diff @@ -0,0 +1,18 @@ +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/llvm-alloca-fix.diff b/build_files/build_environment/patches/llvm-alloca-fix.diff deleted file mode 100644 index 5394a472167..00000000000 --- a/build_files/build_environment/patches/llvm-alloca-fix.diff +++ /dev/null @@ -1,111 +0,0 @@ -Index: lib/Target/X86/X86ISelLowering.cpp -=================================================================== ---- lib/Target/X86/X86ISelLowering.cpp 2014-04-11 23:04:44.000000000 +0200 -+++ lib/Target/X86/X86ISelLowering.cpp (working copy) -@@ -15493,12 +15493,36 @@ - // non-trivial part is impdef of ESP. - - if (Subtarget->isTargetWin64()) { -+ const char *StackProbeSymbol = -+ Subtarget->isTargetCygMing() ? "___chkstk" : "__chkstk"; -+ -+ MachineInstrBuilder MIB; -+ -+ if (getTargetMachine().getCodeModel() == CodeModel::Large) { -+ // For large code model we need to do indirect call to __chkstk. -+ -+ // R11 will be used to contain the address of __chkstk. -+ // R11 is a volotiale register and assumed to be destoyed by the callee, -+ // so there is no need to save and restore it. -+ BuildMI(*BB, MI, DL, TII->get(X86::MOV64ri), X86::R11) -+ .addExternalSymbol(StackProbeSymbol); -+ // Create a call to __chkstk function which address contained in R11. -+ MIB = BuildMI(*BB, MI, DL, TII->get(X86::CALL64r)) -+ .addReg(X86::R11, RegState::Kill); -+ -+ } else { -+ -+ // For non-large code model we can do direct call to __chkstk. -+ -+ MIB = BuildMI(*BB, MI, DL, TII->get(X86::W64ALLOCA)) -+ .addExternalSymbol(StackProbeSymbol); -+ } -+ - if (Subtarget->isTargetCygMing()) { - // ___chkstk(Mingw64): - // Clobbers R10, R11, RAX and EFLAGS. - // Updates RSP. -- BuildMI(*BB, MI, DL, TII->get(X86::W64ALLOCA)) -- .addExternalSymbol("___chkstk") -+ MIB - .addReg(X86::RAX, RegState::Implicit) - .addReg(X86::RSP, RegState::Implicit) - .addReg(X86::RAX, RegState::Define | RegState::Implicit) -@@ -15507,8 +15531,7 @@ - } else { - // __chkstk(MSVCRT): does not update stack pointer. - // Clobbers R10, R11 and EFLAGS. -- BuildMI(*BB, MI, DL, TII->get(X86::W64ALLOCA)) -- .addExternalSymbol("__chkstk") -+ MIB - .addReg(X86::RAX, RegState::Implicit) - .addReg(X86::EFLAGS, RegState::Define | RegState::Implicit); - // RAX has the offset to be subtracted from RSP. -Index: lib/Target/X86/X86FrameLowering.cpp -=================================================================== ---- lib/Target/X86/X86FrameLowering.cpp 2013-10-24 01:37:01.000000000 +0200 -+++ lib/Target/X86/X86FrameLowering.cpp (working copy) -@@ -635,25 +635,49 @@ - .addReg(X86::EAX, RegState::Kill) - .setMIFlag(MachineInstr::FrameSetup); - } -+ -+ MachineInstrBuilder MIB; - - if (Is64Bit) { -+ - // Handle the 64-bit Windows ABI case where we need to call __chkstk. - // Function prologue is responsible for adjusting the stack pointer. - BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64ri), X86::RAX) - .addImm(NumBytes) - .setMIFlag(MachineInstr::FrameSetup); -+ -+ if (TM.getCodeModel() == CodeModel::Large) { -+ // For large code model we need to do indirect call to __chkstk. -+ -+ -+ // R11 will be used to contain the address of __chkstk. -+ // R11 is a volotiale register and assumed to be destoyed by the callee, -+ // so there is no need to save and restore it. -+ BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64ri), X86::R11) -+ .addExternalSymbol(StackProbeSymbol); -+ // Create a call to __chkstk function which address contained in R11. -+ MIB = BuildMI(MBB, MBBI, DL, TII.get(X86::CALL64r)) -+ .addReg(X86::R11, RegState::Kill); -+ } else { -+ -+ // For non-large code model we can do direct call to __chkstk. -+ -+ MIB = BuildMI(MBB, MBBI, DL, TII.get(X86::W64ALLOCA)) -+ .addExternalSymbol(StackProbeSymbol); -+ } - } else { - // Allocate NumBytes-4 bytes on stack in case of isEAXAlive. - // We'll also use 4 already allocated bytes for EAX. - BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32ri), X86::EAX) - .addImm(isEAXAlive ? NumBytes - 4 : NumBytes) - .setMIFlag(MachineInstr::FrameSetup); -+ -+ MIB = BuildMI(MBB, MBBI, DL, TII.get(X86::CALLpcrel32)) -+ .addExternalSymbol(StackProbeSymbol); - } - -- BuildMI(MBB, MBBI, DL, -- TII.get(Is64Bit ? X86::W64ALLOCA : X86::CALLpcrel32)) -- .addExternalSymbol(StackProbeSymbol) -- .addReg(StackPtr, RegState::Define | RegState::Implicit) -+ -+ MIB.addReg(StackPtr, RegState::Define | RegState::Implicit) - .addReg(X86::EFLAGS, RegState::Define | RegState::Implicit) - .setMIFlag(MachineInstr::FrameSetup); - diff --git a/build_files/build_environment/patches/numpy.diff b/build_files/build_environment/patches/numpy.diff deleted file mode 100644 index c4c57222838..00000000000 --- a/build_files/build_environment/patches/numpy.diff +++ /dev/null @@ -1,23 +0,0 @@ -diff -Naur numpy-1.11.1/numpy/distutils/ccompiler.py numpy-1.11.1/numpy/distutils/ccompiler.py ---- numpy-1.11.1/numpy/distutils/ccompiler.py 2016-06-25 08:38:34 -0600 -+++ numpy-1.11.1/numpy/distutils/ccompiler.py 2016-08-04 12:33:43 -0600 -@@ -29,6 +29,7 @@ - - # Using customized CCompiler.spawn. - def CCompiler_spawn(self, cmd, display=None): -+ cmd = quote_args(cmd) - """ - Execute a command in a sub-process. - -diff -Naur numpy-1.11.1/numpy/distutils/misc_util.py numpy-1.11.1/numpy/distutils/misc_util.py ---- numpy-1.11.1/numpy/distutils/misc_util.py 2016-06-25 08:38:34 -0600 -+++ numpy-1.11.1/numpy/distutils/misc_util.py 2016-08-04 12:34:56 -0600 -@@ -116,7 +116,7 @@ - args = list(args) - for i in range(len(args)): - a = args[i] -- if ' ' in a and a[0] not in '"\'': -+ if ' ' in a and a[0] not in '"\'' and a[len(a)-1] not in '"\'': - args[i] = '"%s"' % (a) - return args - diff --git a/build_files/build_environment/patches/schroedinger.diff b/build_files/build_environment/patches/schroedinger.diff deleted file mode 100644 index 6acb35f2a7b..00000000000 --- a/build_files/build_environment/patches/schroedinger.diff +++ /dev/null @@ -1,54 +0,0 @@ ---- configure.orig 2012-01-22 19:06:43 -0700 -+++ configure 2016-04-06 20:00:50 -0600 -@@ -16492,10 +16492,10 @@ - HAVE_ORC=yes - fi - if test "x${HAVE_ORC}" != xyes ; then -- as_fn_error $? "orc-0.4 >= $ORC_VER is required" "$LINENO" 5 -+ $as_echo "orc-0.4 >= $ORC_VER is required" - fi - SCHRO_PKG_DEPS="$SCHRO_PKG_DEPS orc-0.4 >= $ORC_VER" --ORCC=`$PKG_CONFIG --variable=orcc orc-0.4` -+#ORCC=`$PKG_CONFIG --variable=orcc orc-0.4` - - if test "x$cross_compiling" != xyes; then - HAVE_ORCC_TRUE= ---- Makefile.in 2012-01-22 18:06:42 -0700 -+++ Makefile.in 2016-04-06 20:30:09 -0600 -@@ -291,7 +291,7 @@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = foreign --SUBDIRS = schroedinger doc tools testsuite -+SUBDIRS = schroedinger doc tools - DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc - DIST_SUBDIRS = schroedinger doc tools testsuite - EXTRA_DIST = COPYING COPYING.GPL COPYING.LGPL COPYING.MIT COPYING.MPL \ - ---- schroedinger.pc.in 2011-03-21 17:08:39 -0600 -+++ schroedinger.pc.in 2016-04-08 13:30:42 -0600 -@@ -7,9 +7,9 @@ - - Name: schroedinger-@SCHRO_MAJORMINOR@ - Description: Dirac codec library --Requires.private: @SCHRO_PKG_DEPS@ -+Requires: @SCHRO_PKG_DEPS@ - Version: @VERSION@ --Libs: -L${libdir} -lschroedinger-@SCHRO_MAJORMINOR@ -+Libs: -L${libdir} -lschroedinger-@SCHRO_MAJORMINOR@ -lorc-0.4 - Libs.private: @PTHREAD_LIBS@ @LIBM@ - Cflags: -I${includedir} - ---- ./schroedinger/schrodecoder.c 2012-01-23 00:38:57.000000000 +0100 -+++ ./schroedinger/schrodecoder.c 2016-05-15 06:07:24.000000000 +0200 -@@ -70,8 +70,8 @@ - }; - - --int _schro_decode_prediction_only; --int _schro_telemetry; -+int _schro_decode_prediction_only = 0; -+int _schro_telemetry = 0; - - static void schro_decoder_x_decode_motion (SchroAsyncStage * stage); - static void schro_decoder_x_render_motion (SchroAsyncStage * stage); diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 59b35a535aa..a77f237e978 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -77,7 +77,7 @@ if 'cmake' in builder: # cmake_extra_options.append('-DCUDA_NVCC_EXECUTABLE=/usr/local/cuda-hack/nvcc') elif builder.startswith('win'): - if builder.endswith('_vc2017'): + if builder.endswith('_vs2017'): if builder.startswith('win64'): cmake_options.extend(['-G', 'Visual Studio 15 2017 Win64']) elif builder.startswith('win32'): diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index ad59283d7f7..f37a33e50bf 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -598,12 +598,12 @@ function(SETUP_BLENDER_SORTED_LIBS) bf_editor_util bf_editor_uvedit bf_editor_curve - bf_editor_gpencil bf_editor_interface bf_editor_gizmo_library bf_editor_mesh bf_editor_metaball bf_editor_object + bf_editor_gpencil bf_editor_lattice bf_editor_armature bf_editor_physics @@ -622,17 +622,20 @@ function(SETUP_BLENDER_SORTED_LIBS) bf_python bf_python_ext bf_python_mathutils - bf_python_gawain + bf_python_gpu bf_python_bmesh bf_freestyle bf_ikplugin bf_modifiers + bf_gpencil_modifiers bf_alembic bf_bmesh bf_gpu bf_draw bf_blenloader bf_blenkernel + bf_shader_fx + bf_gpencil_modifiers bf_physics bf_nodes bf_rna @@ -875,164 +878,6 @@ macro(message_first_run) endif() endmacro() -macro(TEST_UNORDERED_MAP_SUPPORT) - # - Detect unordered_map availability - # Test if a valid implementation of unordered_map exists - # and define the include path - # This module defines - # HAVE_UNORDERED_MAP, whether unordered_map implementation was found - # - # HAVE_STD_UNORDERED_MAP_HEADER, <unordered_map.h> was found - # HAVE_UNORDERED_MAP_IN_STD_NAMESPACE, unordered_map is in namespace std - # HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE, unordered_map is in namespace std::tr1 - # - # UNORDERED_MAP_INCLUDE_PREFIX, include path prefix for unordered_map, if found - # UNORDERED_MAP_NAMESPACE, namespace for unordered_map, if found - - include(CheckIncludeFileCXX) - - # Workaround for newer GCC (6.x+) where C++11 was enabled by default, which lead us - # to a situation when there is <unordered_map> include but which can't be used uless - # C++11 is enabled. - if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "6.0") AND (NOT WITH_CXX11)) - set(HAVE_STD_UNORDERED_MAP_HEADER False) - else() - CHECK_INCLUDE_FILE_CXX("unordered_map" HAVE_STD_UNORDERED_MAP_HEADER) - endif() - if(HAVE_STD_UNORDERED_MAP_HEADER) - # Even so we've found unordered_map header file it doesn't - # mean unordered_map and unordered_set will be declared in - # std namespace. - # - # Namely, MSVC 2008 have unordered_map header which declares - # unordered_map class in std::tr1 namespace. In order to support - # this, we do extra check to see which exactly namespace is - # to be used. - - include(CheckCXXSourceCompiles) - CHECK_CXX_SOURCE_COMPILES("#include <unordered_map> - int main() { - std::unordered_map<int, int> map; - return 0; - }" - HAVE_UNORDERED_MAP_IN_STD_NAMESPACE) - if(HAVE_UNORDERED_MAP_IN_STD_NAMESPACE) - message_first_run(STATUS "Found unordered_map/set in std namespace.") - - set(HAVE_UNORDERED_MAP "TRUE") - set(UNORDERED_MAP_INCLUDE_PREFIX "") - set(UNORDERED_MAP_NAMESPACE "std") - else() - CHECK_CXX_SOURCE_COMPILES("#include <unordered_map> - int main() { - std::tr1::unordered_map<int, int> map; - return 0; - }" - HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE) - if(HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE) - message_first_run(STATUS "Found unordered_map/set in std::tr1 namespace.") - - set(HAVE_UNORDERED_MAP "TRUE") - set(UNORDERED_MAP_INCLUDE_PREFIX "") - set(UNORDERED_MAP_NAMESPACE "std::tr1") - else() - message_first_run(STATUS "Found <unordered_map> but cannot find either std::unordered_map " - "or std::tr1::unordered_map.") - endif() - endif() - else() - CHECK_INCLUDE_FILE_CXX("tr1/unordered_map" HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE) - if(HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE) - message_first_run(STATUS "Found unordered_map/set in std::tr1 namespace.") - - set(HAVE_UNORDERED_MAP "TRUE") - set(UNORDERED_MAP_INCLUDE_PREFIX "tr1") - set(UNORDERED_MAP_NAMESPACE "std::tr1") - else() - message_first_run(STATUS "Unable to find <unordered_map> or <tr1/unordered_map>. ") - endif() - endif() -endmacro() - -macro(TEST_SHARED_PTR_SUPPORT) - # This check are coming from Ceres library. - # - # Find shared pointer header and namespace. - # - # This module defines the following variables: - # - # SHARED_PTR_FOUND: TRUE if shared_ptr found. - # SHARED_PTR_TR1_MEMORY_HEADER: True if <tr1/memory> header is to be used - # for the shared_ptr object, otherwise use <memory>. - # SHARED_PTR_TR1_NAMESPACE: TRUE if shared_ptr is defined in std::tr1 namespace, - # otherwise it's assumed to be defined in std namespace. - - include(CheckIncludeFileCXX) - include(CheckCXXSourceCompiles) - set(SHARED_PTR_FOUND FALSE) - # Workaround for newer GCC (6.x+) where C++11 was enabled by default, which lead us - # to a situation when there is <unordered_map> include but which can't be used uless - # C++11 is enabled. - if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "6.0") AND (NOT WITH_CXX11)) - set(HAVE_STD_MEMORY_HEADER False) - else() - CHECK_INCLUDE_FILE_CXX(memory HAVE_STD_MEMORY_HEADER) - endif() - if(HAVE_STD_MEMORY_HEADER) - # Finding the memory header doesn't mean that shared_ptr is in std - # namespace. - # - # In particular, MSVC 2008 has shared_ptr declared in std::tr1. In - # order to support this, we do an extra check to see which namespace - # should be used. - CHECK_CXX_SOURCE_COMPILES("#include <memory> - int main() { - std::shared_ptr<int> int_ptr; - return 0; - }" - HAVE_SHARED_PTR_IN_STD_NAMESPACE) - - if(HAVE_SHARED_PTR_IN_STD_NAMESPACE) - message_first_run("-- Found shared_ptr in std namespace using <memory> header.") - set(SHARED_PTR_FOUND TRUE) - else() - CHECK_CXX_SOURCE_COMPILES("#include <memory> - int main() { - std::tr1::shared_ptr<int> int_ptr; - return 0; - }" - HAVE_SHARED_PTR_IN_TR1_NAMESPACE) - if(HAVE_SHARED_PTR_IN_TR1_NAMESPACE) - message_first_run("-- Found shared_ptr in std::tr1 namespace using <memory> header.") - set(SHARED_PTR_TR1_NAMESPACE TRUE) - set(SHARED_PTR_FOUND TRUE) - endif() - endif() - endif() - - if(NOT SHARED_PTR_FOUND) - # Further, gcc defines shared_ptr in std::tr1 namespace and - # <tr1/memory> is to be included for this. And what makes things - # even more tricky is that gcc does have <memory> header, so - # all the checks above wouldn't find shared_ptr. - CHECK_INCLUDE_FILE_CXX("tr1/memory" HAVE_TR1_MEMORY_HEADER) - if(HAVE_TR1_MEMORY_HEADER) - CHECK_CXX_SOURCE_COMPILES("#include <tr1/memory> - int main() { - std::tr1::shared_ptr<int> int_ptr; - return 0; - }" - HAVE_SHARED_PTR_IN_TR1_NAMESPACE_FROM_TR1_MEMORY_HEADER) - if(HAVE_SHARED_PTR_IN_TR1_NAMESPACE_FROM_TR1_MEMORY_HEADER) - message_first_run("-- Found shared_ptr in std::tr1 namespace using <tr1/memory> header.") - set(SHARED_PTR_TR1_MEMORY_HEADER TRUE) - set(SHARED_PTR_TR1_NAMESPACE TRUE) - set(SHARED_PTR_FOUND TRUE) - endif() - endif() - endif() -endmacro() - # when we have warnings as errors applied globally this # needs to be removed for some external libs which we dont maintain. diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 2cb9e07add9..047b1fa3b5b 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -161,7 +161,10 @@ if(WITH_CODEC_FFMPEG) set(FFMPEG_LIBRARIES avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg - ) + ) + # commenting out until libs are updated on svn. schroedinger and orc + # will be removed then + # set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} vpx webp swresample) set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} schroedinger orc vpx webp swresample) set(FFMPEG_LIBPATH ${FFMPEG}/lib) endif() @@ -171,6 +174,8 @@ if(WITH_IMAGE_OPENJPEG OR WITH_CODEC_FFMPEG) set(OPENJPEG ${LIBDIR}/openjpeg) set(WITH_SYSTEM_OPENJPEG ON) set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include) + # same as with ffmpeg libs, update when svn are updated + #set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/libopenjp2.a) set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/libopenjpeg.a) endif() diff --git a/build_files/cmake/platform/platform_apple_xcode.cmake b/build_files/cmake/platform/platform_apple_xcode.cmake index 1b8e13a0623..7af69c092cc 100644 --- a/build_files/cmake/platform/platform_apple_xcode.cmake +++ b/build_files/cmake/platform/platform_apple_xcode.cmake @@ -104,7 +104,7 @@ endif() # 10.9 is our min. target, if you use higher sdk, weak linking happens if(CMAKE_OSX_DEPLOYMENT_TARGET) if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.9) - message(STATUS "Setting deployment target to 10.9, lower versions are incompatible with WITH_CXX11") + message(STATUS "Setting deployment target to 10.9, lower versions are not supported") set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) endif() else() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 468e82e8dac..c45e8ad533d 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -131,9 +131,6 @@ include(InstallRequiredSystemLibraries) remove_cc_flag("/MDd" "/MD") if(MSVC_CLANG) # Clangs version of cl doesn't support all flags - if(NOT WITH_CXX11) # C++11 is on by default in clang-cl and can't be turned off, if c++11 is not enabled in blender repress some c++11 related warnings. - set(CXX_WARN_FLAGS "-Wno-inconsistent-missing-override") - endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARN_FLAGS} /nologo /J /Gd /EHsc -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference ") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference") else() diff --git a/build_files/windows/autodetect_msvc.cmd b/build_files/windows/autodetect_msvc.cmd index 6fce3829e7b..4dbe009a890 100644 --- a/build_files/windows/autodetect_msvc.cmd +++ b/build_files/windows/autodetect_msvc.cmd @@ -1,17 +1,14 @@ echo No explicit msvc version requested, autodetecting version. -call "%~dp0\detect_msvc2013.cmd" +call "%~dp0\detect_msvc2017.cmd" if %ERRORLEVEL% EQU 0 goto DetectionComplete call "%~dp0\detect_msvc2015.cmd" if %ERRORLEVEL% EQU 0 goto DetectionComplete -call "%~dp0\detect_msvc2017.cmd" -if %ERRORLEVEL% EQU 0 goto DetectionComplete - echo Compiler Detection failed. Use verbose switch for more information. exit /b 1 :DetectionComplete -echo Compiler Detection successfull, detected VS%BUILD_VS_YEAR% +echo Compiler Detection successful, detected VS%BUILD_VS_YEAR% exit /b 0
\ No newline at end of file diff --git a/build_files/windows/check_libraries.cmd b/build_files/windows/check_libraries.cmd index c8aad7c9adb..90c50293720 100644 --- a/build_files/windows/check_libraries.cmd +++ b/build_files/windows/check_libraries.cmd @@ -1,4 +1,3 @@ -if "%BUILD_VS_YEAR%"=="2013" set BUILD_VS_LIBDIRPOST=vc12 if "%BUILD_VS_YEAR%"=="2015" set BUILD_VS_LIBDIRPOST=vc14 if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc14 @@ -37,7 +36,7 @@ if NOT EXIST %BUILD_VS_LIBDIR% ( echo. echo Error: Download of external libraries failed. echo This is needed for building, please manually run 'svn cleanup' and 'svn update' in - echo %BUILD_VS_LIBDIR% , until this is resolved you CANNOT make a successfull blender build + echo %BUILD_VS_LIBDIR% , until this is resolved you CANNOT make a successful blender build echo. exit /b 1 ) diff --git a/build_files/windows/detect_msvc2013.cmd b/build_files/windows/detect_msvc2013.cmd deleted file mode 100644 index 5688d31c4b6..00000000000 --- a/build_files/windows/detect_msvc2013.cmd +++ /dev/null @@ -1,3 +0,0 @@ -set BUILD_VS_VER=12 -set BUILD_VS_YEAR=2013 -call "%~dp0\detect_msvc_classic.cmd"
\ No newline at end of file diff --git a/build_files/windows/detect_msvc2017.cmd b/build_files/windows/detect_msvc2017.cmd index 7695dc8d5a2..029f98cbe1e 100644 --- a/build_files/windows/detect_msvc2017.cmd +++ b/build_files/windows/detect_msvc2017.cmd @@ -10,8 +10,8 @@ set vs_where=%ProgramFilesX86%\Microsoft Visual Studio\Installer\vswhere.exe if not exist "%vs_where%" ( if NOT "%verbose%" == "" ( echo Visual Studio 2017 ^(15.2 or newer^) is not detected - goto FAIL ) + goto FAIL ) if NOT "%verbose%" == "" ( diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd index 8a6d743978d..e8caddaf4ea 100644 --- a/build_files/windows/parse_arguments.cmd +++ b/build_files/windows/parse_arguments.cmd @@ -59,8 +59,6 @@ if NOT "%1" == "" ( set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools ) else if "%1" == "2015" ( set BUILD_VS_YEAR=2015 - ) else if "%1" == "2013" ( - set BUILD_VS_YEAR=2013 ) else if "%1" == "packagename" ( set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DCPACK_OVERRIDE_PACKAGENAME="%2" shift /1 diff --git a/build_files/windows/show_help.cmd b/build_files/windows/show_help.cmd index 2b297120f4b..694b28c88ed 100644 --- a/build_files/windows/show_help.cmd +++ b/build_files/windows/show_help.cmd @@ -22,13 +22,13 @@ echo - packagename [newname] ^(override default cpack package name^) echo - buildir [newdir] ^(override default build folder^) echo - x86 ^(override host auto-detect and build 32 bit code^) echo - x64 ^(override host auto-detect and build 64 bit code^) -echo - 2013 ^(build with visual studio 2013^) -echo. -echo Experimental options -echo - 2015 ^(build with visual studio 2015^) echo - 2017 ^(build with visual studio 2017^) echo - 2017pre ^(build with visual studio 2017 pre-release^) echo - 2017b ^(build with visual studio 2017 Build Tools^) + +echo. +echo Experimental options +echo - 2015 ^(build with visual studio 2015^) echo - clang ^(enable building with clang^) echo - asan ^(enable asan when building with clang^) echo - ninja ^(enable building with ninja instead of msbuild^) |