Compare commits
15 Commits
tmp-gpu-co
...
tmp-eevee-
Author | SHA1 | Date | |
---|---|---|---|
7499e7912e | |||
b2320263f2 | |||
c11aea538f | |||
3b86d5e95c | |||
ca22d1ec79 | |||
9f8c22929b | |||
5ead114e1c | |||
8197022d6c | |||
6e18b02065 | |||
cf6ee13fab | |||
4f89f4e1b0 | |||
2ef54d03b5 | |||
4090f06b2d | |||
4d05823055 | |||
5ce4ce2e50 |
@@ -257,10 +257,6 @@ ForEachMacros:
|
|||||||
- SURFACE_QUAD_ITER_BEGIN
|
- SURFACE_QUAD_ITER_BEGIN
|
||||||
- foreach
|
- foreach
|
||||||
- ED_screen_areas_iter
|
- ED_screen_areas_iter
|
||||||
- SLOT_PROBING_BEGIN
|
|
||||||
- SET_SLOT_PROBING_BEGIN
|
|
||||||
- MAP_SLOT_PROBING_BEGIN
|
|
||||||
- VECTOR_SET_SLOT_PROBING_BEGIN
|
|
||||||
|
|
||||||
# Use once we bump the minimum version to version 8.
|
# Use once we bump the minimum version to version 8.
|
||||||
# # Without this string literals that in-line 'STRINGIFY' behave strangely (a bug?).
|
# # Without this string literals that in-line 'STRINGIFY' behave strangely (a bug?).
|
||||||
|
45
.clang-tidy
45
.clang-tidy
@@ -1,45 +0,0 @@
|
|||||||
Checks: >
|
|
||||||
-*,
|
|
||||||
readability-*,
|
|
||||||
-readability-uppercase-literal-suffix,
|
|
||||||
-readability-magic-numbers,
|
|
||||||
-readability-isolate-declaration,
|
|
||||||
-readability-convert-member-functions-to-static,
|
|
||||||
-readability-implicit-bool-conversion,
|
|
||||||
-readability-avoid-const-params-in-decls,
|
|
||||||
-readability-simplify-boolean-expr,
|
|
||||||
-readability-make-member-function-const,
|
|
||||||
|
|
||||||
-readability-misleading-indentation,
|
|
||||||
|
|
||||||
-readability-else-after-return,
|
|
||||||
-readability-inconsistent-declaration-parameter-name,
|
|
||||||
-readability-redundant-preprocessor,
|
|
||||||
-readability-function-size,
|
|
||||||
-readability-function-size,
|
|
||||||
-readability-redundant-string-init,
|
|
||||||
-readability-redundant-member-init,
|
|
||||||
-readability-const-return-type,
|
|
||||||
-readability-static-accessed-through-instance,
|
|
||||||
-readability-redundant-declaration,
|
|
||||||
-readability-qualified-auto,
|
|
||||||
-readability-use-anyofallof,
|
|
||||||
|
|
||||||
bugprone-*,
|
|
||||||
-bugprone-narrowing-conversions,
|
|
||||||
-bugprone-unhandled-self-assignment,
|
|
||||||
-bugprone-branch-clone,
|
|
||||||
-bugprone-macro-parentheses,
|
|
||||||
-bugprone-reserved-identifier,
|
|
||||||
|
|
||||||
-bugprone-sizeof-expression,
|
|
||||||
-bugprone-integer-division,
|
|
||||||
-bugprone-incorrect-roundings,
|
|
||||||
-bugprone-suspicious-string-compare,
|
|
||||||
-bugprone-not-null-terminated-result,
|
|
||||||
-bugprone-suspicious-missing-comma,
|
|
||||||
-bugprone-parent-virtual-call,
|
|
||||||
-bugprone-infinite-loop,
|
|
||||||
-bugprone-copy-constructor-init,
|
|
||||||
|
|
||||||
WarningsAsErrors: '*'
|
|
@@ -41,7 +41,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
# Prever LEGACY OpenGL to eb compatible with all the existing releases and
|
# Prever LEGACY OpenGL to eb compatible with all the existing releases and
|
||||||
# platforms which don't hare GLVND yet. Only do it if preference was not set
|
# platforms which don't hare GLVND yet. Only do it if preference was not set
|
||||||
@@ -278,9 +278,10 @@ option(WITH_CODEC_SNDFILE "Enable libsndfile Support (http://www.mega-nerd
|
|||||||
|
|
||||||
# Alembic support
|
# Alembic support
|
||||||
option(WITH_ALEMBIC "Enable Alembic Support" ON)
|
option(WITH_ALEMBIC "Enable Alembic Support" ON)
|
||||||
|
option(WITH_ALEMBIC_HDF5 "Enable Legacy Alembic Support (not officially supported)" OFF)
|
||||||
|
|
||||||
# Universal Scene Description support
|
# Universal Scene Description support
|
||||||
option(WITH_USD "Enable Universal Scene Description (USD) Support" ON)
|
option(WITH_USD "Enable Universal Scene Description (USD) Support" OFF)
|
||||||
|
|
||||||
# 3D format support
|
# 3D format support
|
||||||
# Disable opencollada when we don't have precompiled libs
|
# Disable opencollada when we don't have precompiled libs
|
||||||
@@ -321,6 +322,14 @@ mark_as_advanced(WITH_SYSTEM_GLOG)
|
|||||||
# Freestyle
|
# Freestyle
|
||||||
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
||||||
|
|
||||||
|
# New object types
|
||||||
|
option(WITH_NEW_OBJECT_TYPES "Enable new hair and pointcloud objects (use for development only, don't save in files)" OFF)
|
||||||
|
mark_as_advanced(WITH_NEW_OBJECT_TYPES)
|
||||||
|
|
||||||
|
# New simulation data block
|
||||||
|
option(WITH_NEW_SIMULATION_TYPE "Enable simulation data block (use for development only, don't save in files)" OFF)
|
||||||
|
mark_as_advanced(WITH_NEW_SIMULATION_TYPE)
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
||||||
@@ -362,12 +371,12 @@ option(WITH_CYCLES "Enable Cycles Render Engine" ON)
|
|||||||
option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF)
|
option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF)
|
||||||
option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF)
|
option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF)
|
||||||
option(WITH_CYCLES_OSL "Build Cycles with OSL support" ON)
|
option(WITH_CYCLES_OSL "Build Cycles with OSL support" ON)
|
||||||
option(WITH_CYCLES_EMBREE "Build Cycles with Embree support" ON)
|
option(WITH_CYCLES_EMBREE "Build Cycles with Embree support" OFF)
|
||||||
option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF)
|
option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF)
|
||||||
option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
|
option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
|
||||||
option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
|
option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
|
||||||
mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
|
mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
|
||||||
set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 compute_75 CACHE STRING "CUDA architectures to build binaries for")
|
set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 CACHE STRING "CUDA architectures to build binaries for")
|
||||||
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
|
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
|
||||||
unset(PLATFORM_DEFAULT)
|
unset(PLATFORM_DEFAULT)
|
||||||
option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON)
|
option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON)
|
||||||
@@ -415,11 +424,6 @@ mark_as_advanced(WITH_CXX_GUARDEDALLOC)
|
|||||||
option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" ON)
|
option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" ON)
|
||||||
mark_as_advanced(WITH_ASSERT_ABORT)
|
mark_as_advanced(WITH_ASSERT_ABORT)
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
option(WITH_CLANG_TIDY "Use Clang Tidy to analyze the source code (only enable for development on Linux using Clang)" OFF)
|
|
||||||
mark_as_advanced(WITH_CLANG_TIDY)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(WITH_BOOST "Enable features depending on boost" ON)
|
option(WITH_BOOST "Enable features depending on boost" ON)
|
||||||
option(WITH_TBB "Enable features depending on TBB (OpenVDB, OpenImageDenoise, sculpt multithreading)" ON)
|
option(WITH_TBB "Enable features depending on TBB (OpenVDB, OpenImageDenoise, sculpt multithreading)" ON)
|
||||||
|
|
||||||
@@ -624,6 +628,12 @@ if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL)
|
|||||||
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
|
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# may as well build python module without a UI
|
||||||
|
if(WITH_PYTHON_MODULE)
|
||||||
|
set(WITH_HEADLESS ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT WITH_PYTHON)
|
if(NOT WITH_PYTHON)
|
||||||
set(WITH_CYCLES OFF)
|
set(WITH_CYCLES OFF)
|
||||||
set(WITH_DRACO OFF)
|
set(WITH_DRACO OFF)
|
||||||
@@ -651,7 +661,6 @@ if(WITH_BOOST AND NOT (WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
|
|||||||
set(WITH_BOOST OFF)
|
set(WITH_BOOST OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_and_warn_dependency(WITH_TBB WITH_CYCLES OFF)
|
|
||||||
set_and_warn_dependency(WITH_TBB WITH_USD OFF)
|
set_and_warn_dependency(WITH_TBB WITH_USD OFF)
|
||||||
set_and_warn_dependency(WITH_TBB WITH_OPENIMAGEDENOISE OFF)
|
set_and_warn_dependency(WITH_TBB WITH_OPENIMAGEDENOISE OFF)
|
||||||
set_and_warn_dependency(WITH_TBB WITH_OPENVDB OFF)
|
set_and_warn_dependency(WITH_TBB WITH_OPENVDB OFF)
|
||||||
@@ -900,7 +909,7 @@ if(MSVC)
|
|||||||
# endianess-detection and auto-setting is counterproductive
|
# endianess-detection and auto-setting is counterproductive
|
||||||
# so we just set endianness according CMAKE_OSX_ARCHITECTURES
|
# so we just set endianness according CMAKE_OSX_ARCHITECTURES
|
||||||
|
|
||||||
elseif(CMAKE_OSX_ARCHITECTURES MATCHES i386 OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR CMAKE_OSX_ARCHITECTURES MATCHES arm64)
|
elseif(CMAKE_OSX_ARCHITECTURES MATCHES i386 OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64)
|
||||||
add_definitions(-D__LITTLE_ENDIAN__)
|
add_definitions(-D__LITTLE_ENDIAN__)
|
||||||
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ppc OR CMAKE_OSX_ARCHITECTURES MATCHES ppc64)
|
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ppc OR CMAKE_OSX_ARCHITECTURES MATCHES ppc64)
|
||||||
add_definitions(-D__BIG_ENDIAN__)
|
add_definitions(-D__BIG_ENDIAN__)
|
||||||
@@ -1243,7 +1252,7 @@ endif()
|
|||||||
|
|
||||||
if(WITH_LIBMV)
|
if(WITH_LIBMV)
|
||||||
# We always have C++11 which includes unordered_map.
|
# We always have C++11 which includes unordered_map.
|
||||||
set(CERES_DEFINES "-DCERES_STD_UNORDERED_MAP;-DCERES_USE_CXX_THREADS")
|
set(CERES_DEFINES -DCERES_STD_UNORDERED_MAP)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
@@ -1559,15 +1568,20 @@ if(WITH_PYTHON)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
|
# MSVC needs to be tested first, since clang on windows will
|
||||||
|
# match the compiler test below but clang-cl does not accept -std=c++11
|
||||||
|
# since it is on by default and cannot be turned off.
|
||||||
|
#
|
||||||
|
# Nothing special is needed, C++11 features are available by default.
|
||||||
elseif(
|
elseif(
|
||||||
CMAKE_COMPILER_IS_GNUCC OR
|
CMAKE_COMPILER_IS_GNUCC OR
|
||||||
CMAKE_C_COMPILER_ID MATCHES "Clang" OR
|
CMAKE_C_COMPILER_ID MATCHES "Clang" OR
|
||||||
CMAKE_C_COMPILER_ID MATCHES "Intel"
|
CMAKE_C_COMPILER_ID MATCHES "Intel"
|
||||||
)
|
)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
# TODO(sergey): Do we want c++11 or gnu-c++11 here?
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++17 build")
|
message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++11 build")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Visual Studio has all standards it supports available by default
|
# Visual Studio has all standards it supports available by default
|
||||||
@@ -1628,6 +1642,10 @@ endif()
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Libraries
|
# Libraries
|
||||||
|
|
||||||
|
if(WITH_GTESTS)
|
||||||
|
include(GTestTesting)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_BLENDER)
|
if(WITH_BLENDER)
|
||||||
add_subdirectory(intern)
|
add_subdirectory(intern)
|
||||||
add_subdirectory(extern)
|
add_subdirectory(extern)
|
||||||
|
10
GNUmakefile
10
GNUmakefile
@@ -32,7 +32,6 @@ Convenience Targets
|
|||||||
* debug: Build a debug binary.
|
* debug: Build a debug binary.
|
||||||
* full: Enable all supported dependencies & options.
|
* full: Enable all supported dependencies & options.
|
||||||
* lite: Disable non essential features for a smaller binary and faster build.
|
* lite: Disable non essential features for a smaller binary and faster build.
|
||||||
* release Complete build with all options enabled including CUDA and Optix, matching the releases on blender.org
|
|
||||||
* headless: Build without an interface (renderfarm or server automation).
|
* headless: Build without an interface (renderfarm or server automation).
|
||||||
* cycles: Build Cycles standalone only, without Blender.
|
* cycles: Build Cycles standalone only, without Blender.
|
||||||
* bpy: Build as a python module which can be loaded from python directly.
|
* bpy: Build as a python module which can be loaded from python directly.
|
||||||
@@ -142,10 +141,6 @@ Information
|
|||||||
endef
|
endef
|
||||||
# HELP_TEXT (end)
|
# HELP_TEXT (end)
|
||||||
|
|
||||||
# This makefile is not meant for Windows
|
|
||||||
ifeq ($(OS),Windows_NT)
|
|
||||||
$(error On Windows, use "cmd //c make.bat" instead of "make")
|
|
||||||
endif
|
|
||||||
|
|
||||||
# System Vars
|
# System Vars
|
||||||
OS:=$(shell uname -s)
|
OS:=$(shell uname -s)
|
||||||
@@ -212,10 +207,6 @@ ifneq "$(findstring lite, $(MAKECMDGOALS))" ""
|
|||||||
BUILD_DIR:=$(BUILD_DIR)_lite
|
BUILD_DIR:=$(BUILD_DIR)_lite
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake" $(CMAKE_CONFIG_ARGS)
|
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake" $(CMAKE_CONFIG_ARGS)
|
||||||
endif
|
endif
|
||||||
ifneq "$(findstring release, $(MAKECMDGOALS))" ""
|
|
||||||
BUILD_DIR:=$(BUILD_DIR)_release
|
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_release.cmake" $(CMAKE_CONFIG_ARGS)
|
|
||||||
endif
|
|
||||||
ifneq "$(findstring cycles, $(MAKECMDGOALS))" ""
|
ifneq "$(findstring cycles, $(MAKECMDGOALS))" ""
|
||||||
BUILD_DIR:=$(BUILD_DIR)_cycles
|
BUILD_DIR:=$(BUILD_DIR)_cycles
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/cycles_standalone.cmake" $(CMAKE_CONFIG_ARGS)
|
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/cycles_standalone.cmake" $(CMAKE_CONFIG_ARGS)
|
||||||
@@ -326,7 +317,6 @@ all: .FORCE
|
|||||||
debug: all
|
debug: all
|
||||||
full: all
|
full: all
|
||||||
lite: all
|
lite: all
|
||||||
release: all
|
|
||||||
cycles: all
|
cycles: all
|
||||||
headless: all
|
headless: all
|
||||||
bpy: all
|
bpy: all
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
# build_deps 2015 x64 / build_deps 2015 x86
|
# build_deps 2015 x64 / build_deps 2015 x86
|
||||||
#
|
#
|
||||||
# MAC OS X USAGE:
|
# MAC OS X USAGE:
|
||||||
# Install with homebrew: brew install cmake autoconf automake libtool yasm nasm bison
|
# Install with homebrew: brew install cmake autoconf automake libtool yasm nasm
|
||||||
# Run "make deps" from main Blender directory
|
# Run "make deps" from main Blender directory
|
||||||
#
|
#
|
||||||
# LINUX USAGE:
|
# LINUX USAGE:
|
||||||
@@ -48,7 +48,11 @@ include(cmake/options.cmake)
|
|||||||
include(cmake/versions.cmake)
|
include(cmake/versions.cmake)
|
||||||
|
|
||||||
if(ENABLE_MINGW64)
|
if(ENABLE_MINGW64)
|
||||||
include(cmake/setup_mingw64.cmake)
|
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
|
include(cmake/setup_mingw64.cmake)
|
||||||
|
else()
|
||||||
|
include(cmake/setup_mingw32.cmake)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
set(mingw_LIBDIR ${LIBDIR})
|
set(mingw_LIBDIR ${LIBDIR})
|
||||||
endif()
|
endif()
|
||||||
@@ -76,7 +80,6 @@ include(cmake/llvm.cmake)
|
|||||||
include(cmake/clang.cmake)
|
include(cmake/clang.cmake)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
include(cmake/openmp.cmake)
|
include(cmake/openmp.cmake)
|
||||||
include(cmake/nasm.cmake)
|
|
||||||
endif()
|
endif()
|
||||||
include(cmake/openimageio.cmake)
|
include(cmake/openimageio.cmake)
|
||||||
include(cmake/tiff.cmake)
|
include(cmake/tiff.cmake)
|
||||||
@@ -94,20 +97,17 @@ if(UNIX)
|
|||||||
else()
|
else()
|
||||||
include(cmake/pugixml.cmake)
|
include(cmake/pugixml.cmake)
|
||||||
endif()
|
endif()
|
||||||
if((NOT APPLE) OR ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
|
include(cmake/openimagedenoise.cmake)
|
||||||
include(cmake/ispc.cmake)
|
include(cmake/embree.cmake)
|
||||||
include(cmake/openimagedenoise.cmake)
|
include(cmake/xr_openxr.cmake)
|
||||||
include(cmake/embree.cmake)
|
|
||||||
endif()
|
|
||||||
if(NOT APPLE)
|
|
||||||
include(cmake/xr_openxr.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_WEBP)
|
if(WITH_WEBP)
|
||||||
include(cmake/webp.cmake)
|
include(cmake/webp.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
# HMD branch deps
|
||||||
|
include(cmake/hidapi.cmake)
|
||||||
# OCIO deps
|
# OCIO deps
|
||||||
include(cmake/tinyxml.cmake)
|
include(cmake/tinyxml.cmake)
|
||||||
include(cmake/yamlcpp.cmake)
|
include(cmake/yamlcpp.cmake)
|
||||||
@@ -130,6 +130,7 @@ if(NOT WIN32 OR ENABLE_MINGW64)
|
|||||||
include(cmake/vpx.cmake)
|
include(cmake/vpx.cmake)
|
||||||
include(cmake/x264.cmake)
|
include(cmake/x264.cmake)
|
||||||
include(cmake/xvidcore.cmake)
|
include(cmake/xvidcore.cmake)
|
||||||
|
include(cmake/faad.cmake)
|
||||||
include(cmake/ffmpeg.cmake)
|
include(cmake/ffmpeg.cmake)
|
||||||
include(cmake/fftw.cmake)
|
include(cmake/fftw.cmake)
|
||||||
include(cmake/sndfile.cmake)
|
include(cmake/sndfile.cmake)
|
||||||
|
@@ -16,6 +16,16 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
|
if(ALEMBIC_HDF5)
|
||||||
|
set(ALEMBIC_HDF5_HL)
|
||||||
|
# in debug mode we do not build HDF5_hdf5_hl_LIBRARY which makes cmake really
|
||||||
|
# unhappy, stub it with the debug mode lib. it's not linking it in at this
|
||||||
|
# point in time anyhow
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
set(ALEMBIC_HDF5_HL -DHDF5_hdf5_hl_LIBRARY=${LIBDIR}/hdf5/lib/libhdf5_hl_D.${LIBEXT})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(ALEMBIC_EXTRA_ARGS
|
set(ALEMBIC_EXTRA_ARGS
|
||||||
-DBUILDSTATIC=ON
|
-DBUILDSTATIC=ON
|
||||||
-DLINKSTATIC=ON
|
-DLINKSTATIC=ON
|
||||||
@@ -28,7 +38,6 @@ set(ALEMBIC_EXTRA_ARGS
|
|||||||
-DBoost_DEBUG=ON
|
-DBoost_DEBUG=ON
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DBoost_NO_SYSTEM_PATHS=ON
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DILMBASE_ROOT=${LIBDIR}/openexr
|
-DILMBASE_ROOT=${LIBDIR}/openexr
|
||||||
-DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${LIBDIR}/openexr/include/OpenEXR
|
-DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${LIBDIR}/openexr/include/OpenEXR
|
||||||
-DALEMBIC_ILMBASE_HALF_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DALEMBIC_ILMBASE_HALF_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
@@ -43,6 +52,7 @@ set(ALEMBIC_EXTRA_ARGS
|
|||||||
-DUSE_PRMAN=0
|
-DUSE_PRMAN=0
|
||||||
-DUSE_HDF5=Off
|
-DUSE_HDF5=Off
|
||||||
-DUSE_STATIC_HDF5=Off
|
-DUSE_STATIC_HDF5=Off
|
||||||
|
-DHDF5_ROOT=${LIBDIR}/hdf5
|
||||||
-DUSE_TESTS=Off
|
-DUSE_TESTS=Off
|
||||||
-DALEMBIC_NO_OPENGL=1
|
-DALEMBIC_NO_OPENGL=1
|
||||||
-DUSE_BINARIES=ON
|
-DUSE_BINARIES=ON
|
||||||
@@ -51,6 +61,7 @@ set(ALEMBIC_EXTRA_ARGS
|
|||||||
-DGLUT_INCLUDE_DIR=""
|
-DGLUT_INCLUDE_DIR=""
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||||
|
${ALEMBIC_HDF5_HL}
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_alembic
|
ExternalProject_Add(external_alembic
|
||||||
|
@@ -44,7 +44,7 @@ if(WIN32)
|
|||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
||||||
set(BOOST_BUILD_COMMAND ./b2)
|
set(BOOST_BUILD_COMMAND ./b2)
|
||||||
set(BOOST_BUILD_OPTIONS toolset=clang-darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} visibility=global --disable-icu boost.locale.icu=off)
|
set(BOOST_BUILD_OPTIONS toolset=darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} visibility=global --disable-icu boost.locale.icu=off)
|
||||||
set(BOOST_HARVEST_CMD echo .)
|
set(BOOST_HARVEST_CMD echo .)
|
||||||
set(BOOST_PATCH_COMMAND echo .)
|
set(BOOST_PATCH_COMMAND echo .)
|
||||||
else()
|
else()
|
||||||
|
@@ -30,7 +30,6 @@ if(UNIX)
|
|||||||
nasm
|
nasm
|
||||||
yasm
|
yasm
|
||||||
tclsh
|
tclsh
|
||||||
bison
|
|
||||||
)
|
)
|
||||||
|
|
||||||
foreach(_software ${_required_software})
|
foreach(_software ${_required_software})
|
||||||
@@ -41,12 +40,6 @@ if(UNIX)
|
|||||||
unset(_software_find CACHE)
|
unset(_software_find CACHE)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
if(NOT EXISTS "/usr/local/opt/bison/bin/bison")
|
|
||||||
set(_software_missing "${_software_missing} bison")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(_software_missing)
|
if(_software_missing)
|
||||||
message(
|
message(
|
||||||
"\n"
|
"\n"
|
||||||
@@ -57,7 +50,7 @@ if(UNIX)
|
|||||||
" apt install autoconf automake libtool yasm nasm tcl\n"
|
" apt install autoconf automake libtool yasm nasm tcl\n"
|
||||||
"\n"
|
"\n"
|
||||||
"On macOS (with homebrew):\n"
|
"On macOS (with homebrew):\n"
|
||||||
" brew install cmake autoconf automake libtool yasm nasm bison\n"
|
" brew install cmake autoconf automake libtool yasm nasm\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Other platforms:\n"
|
"Other platforms:\n"
|
||||||
" Install equivalent packages.\n")
|
" Install equivalent packages.\n")
|
||||||
|
@@ -30,11 +30,6 @@ else()
|
|||||||
set(CLANG_GENERATOR "Unix Makefiles")
|
set(CLANG_GENERATOR "Unix Makefiles")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
set(CLANG_EXTRA_ARGS ${CLANG_EXTRA_ARGS}
|
|
||||||
-DLIBXML2_LIBRARY=${LIBDIR}/xml2/lib/libxml2.a
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_clang
|
ExternalProject_Add(external_clang
|
||||||
URL ${CLANG_URI}
|
URL ${CLANG_URI}
|
||||||
|
@@ -26,20 +26,10 @@ set(EMBREE_EXTRA_ARGS
|
|||||||
-DEMBREE_RAY_MASK=ON
|
-DEMBREE_RAY_MASK=ON
|
||||||
-DEMBREE_FILTER_FUNCTION=ON
|
-DEMBREE_FILTER_FUNCTION=ON
|
||||||
-DEMBREE_BACKFACE_CULLING=OFF
|
-DEMBREE_BACKFACE_CULLING=OFF
|
||||||
|
-DEMBREE_TASKING_SYSTEM=INTERNAL
|
||||||
-DEMBREE_MAX_ISA=AVX2
|
-DEMBREE_MAX_ISA=AVX2
|
||||||
-DEMBREE_TASKING_SYSTEM=TBB
|
|
||||||
-DEMBREE_TBB_ROOT=${LIBDIR}/tbb
|
|
||||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(TBB_STATIC_LIBRARY)
|
|
||||||
set(EMBREE_EXTRA_ARGS
|
|
||||||
${EMBREE_EXTRA_ARGS}
|
|
||||||
-DEMBREE_TBB_LIBRARY_NAME=tbb_static
|
|
||||||
-DEMBREE_TBBMALLOC_LIBRARY_NAME=tbbmalloc_static
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(EMBREE_BUILD_DIR ${BUILD_MODE}/)
|
set(EMBREE_BUILD_DIR ${BUILD_MODE}/)
|
||||||
else()
|
else()
|
||||||
@@ -51,16 +41,9 @@ ExternalProject_Add(external_embree
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${EMBREE_HASH}
|
URL_HASH MD5=${EMBREE_HASH}
|
||||||
PREFIX ${BUILD_DIR}/embree
|
PREFIX ${BUILD_DIR}/embree
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/embree/src/external_embree < ${PATCH_DIR}/embree.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/embree
|
INSTALL_DIR ${LIBDIR}/embree
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_embree
|
|
||||||
external_tbb
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
40
build_files/build_environment/cmake/faad.cmake
Normal file
40
build_files/build_environment/cmake/faad.cmake
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# ***** 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 *****
|
||||||
|
|
||||||
|
set(FAAD_EXTRA_ARGS)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(FAAD_EXTRA_CONFIGURE "utils\\win32\\ac2ver.exe" "faad2" "configure.ac" > libfaad\\win32_ver.h)
|
||||||
|
else()
|
||||||
|
set(FAAD_EXTRA_CONFIGURE echo .)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(external_faad
|
||||||
|
URL ${FAAD_URI}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH MD5=${FAAD_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/faad
|
||||||
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && ${FAAD_EXTRA_CONFIGURE} && ${CONFIGURE_COMMAND} --disable-shared --enable-static --prefix=${LIBDIR}/faad
|
||||||
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && make -j${MAKE_THREADS}
|
||||||
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && make install
|
||||||
|
INSTALL_DIR ${LIBDIR}/faad
|
||||||
|
)
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
set_target_properties(external_faad PROPERTIES FOLDER Mingw)
|
||||||
|
endif()
|
@@ -50,8 +50,7 @@ if(APPLE)
|
|||||||
set(FFMPEG_EXTRA_FLAGS
|
set(FFMPEG_EXTRA_FLAGS
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
${FFMPEG_EXTRA_FLAGS}
|
||||||
--target-os=darwin
|
--target-os=darwin
|
||||||
--x86asmexe=${LIBDIR}/nasm/bin/nasm
|
)
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_ffmpeg
|
ExternalProject_Add(external_ffmpeg
|
||||||
@@ -128,6 +127,7 @@ endif()
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_ffmpeg
|
external_ffmpeg
|
||||||
external_zlib
|
external_zlib
|
||||||
|
external_faad
|
||||||
external_openjpeg
|
external_openjpeg
|
||||||
external_xvidcore
|
external_xvidcore
|
||||||
external_x264
|
external_x264
|
||||||
@@ -144,12 +144,6 @@ if(WIN32)
|
|||||||
external_zlib_mingw
|
external_zlib_mingw
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(APPLE)
|
|
||||||
add_dependencies(
|
|
||||||
external_ffmpeg
|
|
||||||
external_nasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||||
ExternalProject_Add_Step(external_ffmpeg after_install
|
ExternalProject_Add_Step(external_ffmpeg after_install
|
||||||
|
@@ -19,12 +19,8 @@
|
|||||||
set(FFTW_EXTRA_ARGS)
|
set(FFTW_EXTRA_ARGS)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
set(FFTW3_ENV set CFLAGS=-fno-stack-check -fno-stack-protector -mno-stack-arg-probe -fno-lto &&)
|
||||||
set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff)
|
set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff)
|
||||||
set(FFTW_EXTRA_ARGS --disable-static --enable-shared)
|
|
||||||
set(FFTW_INSTALL install-strip)
|
|
||||||
else()
|
|
||||||
set(FFTW_EXTRA_ARGS --enable-static)
|
|
||||||
set(FFTW_INSTALL install)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_fftw3
|
ExternalProject_Add(external_fftw3
|
||||||
@@ -32,10 +28,10 @@ ExternalProject_Add(external_fftw3
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${FFTW_HASH}
|
URL_HASH MD5=${FFTW_HASH}
|
||||||
PREFIX ${BUILD_DIR}/fftw3
|
PREFIX ${BUILD_DIR}/fftw3
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} ${FFTW_EXTRA_ARGS} --prefix=${mingw_LIBDIR}/fftw3
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${FFTW3_ENV} cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/fftw3
|
||||||
PATCH_COMMAND ${FFTW3_PATCH_COMMAND}
|
PATCH_COMMAND ${FFTW3_PATCH_COMMAND}
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make ${FFTW_INSTALL}
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make install
|
||||||
INSTALL_DIR ${LIBDIR}/fftw3
|
INSTALL_DIR ${LIBDIR}/fftw3
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -43,8 +39,7 @@ if(MSVC)
|
|||||||
set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw)
|
set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(external_fftw3 after_install
|
ExternalProject_Add_Step(external_fftw3 after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.dll.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/bin/libfftw3-3.dll ${HARVEST_TARGET}/fftw3/lib/libfftw3-3.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
|
@@ -24,8 +24,7 @@ set(FREETYPE_EXTRA_ARGS
|
|||||||
-DFT_WITH_HARFBUZZ=OFF
|
-DFT_WITH_HARFBUZZ=OFF
|
||||||
-DFT_WITH_BZIP2=OFF
|
-DFT_WITH_BZIP2=OFF
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE
|
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE
|
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE)
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_freetype
|
ExternalProject_Add(external_freetype
|
||||||
URL ${FREETYPE_URI}
|
URL ${FREETYPE_URI}
|
||||||
|
@@ -31,6 +31,10 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
COMMAND # jpeg rename libfile + copy include
|
COMMAND # 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 ${LIBDIR}/jpg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ &&
|
||||||
|
# OpenImageIO
|
||||||
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include &&
|
||||||
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib &&
|
||||||
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe &&
|
||||||
# png
|
# png
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib &&
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ &&
|
||||||
@@ -40,13 +44,30 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
# glew-> opengl
|
# glew-> opengl
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib &&
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
||||||
|
# sndfile
|
||||||
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/lib/libsndfile.dll.a ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib &&
|
||||||
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll &&
|
||||||
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h &&
|
||||||
# tiff
|
# tiff
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib &&
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/ &&
|
||||||
|
# hidapi
|
||||||
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hidapi/ ${HARVEST_TARGET}/hidapi/
|
||||||
DEPENDS
|
DEPENDS
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
add_custom_target(Harvest_Debug_Results
|
||||||
|
# OpenImageIO
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib &&
|
||||||
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib &&
|
||||||
|
# hdf5
|
||||||
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hdf5/lib ${HARVEST_TARGET}/hdf5/lib &&
|
||||||
|
DEPENDS Package_Python
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
|
|
||||||
function(harvest from to)
|
function(harvest from to)
|
||||||
@@ -132,12 +153,8 @@ harvest(openimageio/bin openimageio/bin "maketx")
|
|||||||
harvest(openimageio/bin openimageio/bin "oiiotool")
|
harvest(openimageio/bin openimageio/bin "oiiotool")
|
||||||
harvest(openimageio/include openimageio/include "*")
|
harvest(openimageio/include openimageio/include "*")
|
||||||
harvest(openimageio/lib openimageio/lib "*.a")
|
harvest(openimageio/lib openimageio/lib "*.a")
|
||||||
if((NOT APPLE) OR ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
|
harvest(openimagedenoise/include openimagedenoise/include "*")
|
||||||
harvest(openimagedenoise/include openimagedenoise/include "*")
|
harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
|
||||||
harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
|
|
||||||
harvest(embree/include embree/include "*.h")
|
|
||||||
harvest(embree/lib embree/lib "*.a")
|
|
||||||
endif()
|
|
||||||
harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h")
|
harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h")
|
||||||
harvest(openjpeg/lib openjpeg/lib "*.a")
|
harvest(openjpeg/lib openjpeg/lib "*.a")
|
||||||
harvest(opensubdiv/include opensubdiv/include "*.h")
|
harvest(opensubdiv/include opensubdiv/include "*.h")
|
||||||
@@ -172,6 +189,8 @@ harvest(vpx/lib ffmpeg/lib "*.a")
|
|||||||
harvest(webp/lib ffmpeg/lib "*.a")
|
harvest(webp/lib ffmpeg/lib "*.a")
|
||||||
harvest(x264/lib ffmpeg/lib "*.a")
|
harvest(x264/lib ffmpeg/lib "*.a")
|
||||||
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
||||||
|
harvest(embree/include embree/include "*.h")
|
||||||
|
harvest(embree/lib embree/lib "*.a")
|
||||||
harvest(usd/include usd/include "*.h")
|
harvest(usd/include usd/include "*.h")
|
||||||
harvest(usd/lib/usd usd/lib/usd "*")
|
harvest(usd/lib/usd usd/lib/usd "*")
|
||||||
harvest(usd/plugin usd/plugin "*")
|
harvest(usd/plugin usd/plugin "*")
|
||||||
|
@@ -16,14 +16,27 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
ExternalProject_Add(external_nasm
|
set(HDF5_EXTRA_ARGS
|
||||||
URL ${NASM_URI}
|
-DHDF5_ENABLE_THREADSAFE=Off
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
-DHDF5_BUILD_CPP_LIB=Off
|
||||||
URL_HASH SHA256=${NASM_HASH}
|
-DBUILD_TESTING=Off
|
||||||
PREFIX ${BUILD_DIR}/nasm
|
-DHDF5_BUILD_TOOLS=Off
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/nasm/src/external_nasm < ${PATCH_DIR}/nasm.diff
|
-DHDF5_BUILD_EXAMPLES=Off
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/nasm
|
-DHDF5_BUILD_HL_LIB=On
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make -j${MAKE_THREADS}
|
-DBUILD_STATIC_CRT_LIBS=On
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make install
|
-DBUILD_SHARED_LIBS=On
|
||||||
INSTALL_DIR ${LIBDIR}/nasm
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(HDF5_PATCH ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/hdf5/src/external_hdf5 < ${PATCH_DIR}/hdf5.diff)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(external_hdf5
|
||||||
|
URL ${HDF5_URI}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH MD5=${HDF5_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/hdf5
|
||||||
|
PATCH_COMMAND ${HDF5_PATCH}
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hdf5 ${HDF5_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/hdf5
|
||||||
)
|
)
|
@@ -16,24 +16,14 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
set(INC
|
set(HIDAPI_EXTRA_ARGS)
|
||||||
include
|
|
||||||
|
ExternalProject_Add(external_hidapi
|
||||||
|
URL ${HIDAPI_URI}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH MD5=${HIDAPI_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/hidapi
|
||||||
|
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_hidapi.txt ${BUILD_DIR}/hidapi/src/external_hidapi/cmakelists.txt && ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/hidapi/src/external_hidapi < ${PATCH_DIR}/hidapi.diff
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hidapi -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${HIDAPI_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/hidapi
|
||||||
)
|
)
|
||||||
|
|
||||||
set(INC_SYS
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
set(SRC
|
|
||||||
source/sky_model.cpp
|
|
||||||
source/sky_nishita.cpp
|
|
||||||
|
|
||||||
include/sky_model.h
|
|
||||||
source/sky_float3.h
|
|
||||||
source/sky_model_data.h
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LIB
|
|
||||||
)
|
|
||||||
|
|
||||||
blender_add_lib(bf_intern_sky "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
|
@@ -1,76 +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(ISPC_EXTRA_ARGS_WIN
|
|
||||||
-DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe
|
|
||||||
-DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe
|
|
||||||
-DM4_EXECUTABLE=${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe
|
|
||||||
)
|
|
||||||
elseif(APPLE)
|
|
||||||
# Use bison installed via Homebrew.
|
|
||||||
# The one which comes which Xcode toolset is too old.
|
|
||||||
set(ISPC_EXTRA_ARGS_APPLE
|
|
||||||
-DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
|
|
||||||
)
|
|
||||||
elseif(UNIX)
|
|
||||||
set(ISPC_EXTRA_ARGS_UNIX
|
|
||||||
-DCMAKE_C_COMPILER=${LIBDIR}/clang/bin/clang
|
|
||||||
-DCMAKE_CXX_COMPILER=${LIBDIR}/clang/bin/clang++
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(ISPC_EXTRA_ARGS
|
|
||||||
-DARM_ENABLED=Off
|
|
||||||
-DISPC_NO_DUMPS=On
|
|
||||||
-DISPC_INCLUDE_EXAMPLES=Off
|
|
||||||
-DISPC_INCLUDE_TESTS=Off
|
|
||||||
-DLLVM_ROOT=${LIBDIR}/llvm/lib/cmake/llvm
|
|
||||||
-DLLVM_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
|
||||||
-DCLANG_EXECUTABLE=${LIBDIR}/clang/bin/clang
|
|
||||||
-DISPC_INCLUDE_TESTS=Off
|
|
||||||
-DCLANG_LIBRARY_DIR=${LIBDIR}/clang/lib
|
|
||||||
-DCLANG_INCLUDE_DIRS=${LIBDIR}/clang/include
|
|
||||||
${ISPC_EXTRA_ARGS_WIN}
|
|
||||||
${ISPC_EXTRA_ARGS_APPLE}
|
|
||||||
${ISPC_EXTRA_ARGS_UNIX}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_ispc
|
|
||||||
URL ${ISPC_URI}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH MD5=${ISPC_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/ispc
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ispc/src/external_ispc < ${PATCH_DIR}/ispc.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ispc -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ISPC_EXTRA_ARGS} ${BUILD_DIR}/ispc/src/external_ispc
|
|
||||||
INSTALL_DIR ${LIBDIR}/ispc
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_ispc
|
|
||||||
ll
|
|
||||||
external_clang
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
add_dependencies(
|
|
||||||
external_ispc
|
|
||||||
external_flexbison
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
@@ -42,17 +42,20 @@ if(WIN32)
|
|||||||
set(JPEG_LIBRARY jpeg-staticd${LIBEXT})
|
set(JPEG_LIBRARY jpeg-staticd${LIBEXT})
|
||||||
endif()
|
endif()
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
# cmake for unix
|
# autoconf for unix
|
||||||
set(JPEG_EXTRA_ARGS
|
if(APPLE)
|
||||||
-DWITH_JPEG8=ON
|
set(JPEG_EXTRA_ARGS --host x86_64-apple-darwin --with-jpeg8)
|
||||||
-DENABLE_STATIC=ON
|
else()
|
||||||
-DENABLE_SHARED=OFF
|
set(JPEG_EXTRA_ARGS --with-jpeg8)
|
||||||
-DCMAKE_INSTALL_LIBDIR=${LIBDIR}/jpg/lib)
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_jpeg
|
ExternalProject_Add(external_jpeg
|
||||||
URL ${JPEG_URI}
|
URL ${JPEG_URI}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${JPEG_HASH}
|
URL_HASH MD5=${JPEG_HASH}
|
||||||
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && autoreconf -fiv && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jpg NASM=yasm ${JPEG_EXTRA_ARGS}
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
BUILD_COMMAND ${CONFIGURE_ENV} && make install
|
||||||
PREFIX ${BUILD_DIR}/jpg
|
PREFIX ${BUILD_DIR}/jpg
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/jpg
|
INSTALL_DIR ${LIBDIR}/jpg
|
||||||
|
@@ -16,17 +16,11 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
if(APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(LLVM_TARGETS AArch64)
|
|
||||||
else()
|
|
||||||
set(LLVM_TARGETS X86)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(LLVM_EXTRA_ARGS
|
set(LLVM_EXTRA_ARGS
|
||||||
-DLLVM_USE_CRT_RELEASE=MD
|
-DLLVM_USE_CRT_RELEASE=MD
|
||||||
-DLLVM_USE_CRT_DEBUG=MDd
|
-DLLVM_USE_CRT_DEBUG=MDd
|
||||||
-DLLVM_INCLUDE_TESTS=OFF
|
-DLLVM_INCLUDE_TESTS=OFF
|
||||||
-DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS}
|
-DLLVM_TARGETS_TO_BUILD=X86
|
||||||
-DLLVM_INCLUDE_EXAMPLES=OFF
|
-DLLVM_INCLUDE_EXAMPLES=OFF
|
||||||
-DLLVM_ENABLE_TERMINFO=OFF
|
-DLLVM_ENABLE_TERMINFO=OFF
|
||||||
-DLLVM_BUILD_LLVM_C_DYLIB=OFF
|
-DLLVM_BUILD_LLVM_C_DYLIB=OFF
|
||||||
|
@@ -38,7 +38,6 @@ ExternalProject_Add(external_numpy
|
|||||||
PREFIX ${BUILD_DIR}/numpy
|
PREFIX ${BUILD_DIR}/numpy
|
||||||
PATCH_COMMAND ${NUMPY_PATCH}
|
PATCH_COMMAND ${NUMPY_PATCH}
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/numpy/src/external_numpy < ${PATCH_DIR}/numpy.diff
|
|
||||||
LOG_BUILD 1
|
LOG_BUILD 1
|
||||||
BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable
|
BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
|
@@ -21,7 +21,6 @@ ExternalProject_Add(external_ogg
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${OGG_HASH}
|
URL_HASH SHA256=${OGG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/ogg
|
PREFIX ${BUILD_DIR}/ogg
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/ogg/src/external_ogg < ${PATCH_DIR}/ogg.diff
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ogg --disable-shared --enable-static
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ogg --disable-shared --enable-static
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make install
|
||||||
|
@@ -52,6 +52,7 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
PREFIX ${BUILD_DIR}/openal
|
PREFIX ${BUILD_DIR}/openal
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/openal
|
INSTALL_DIR ${LIBDIR}/openal
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@@ -30,13 +30,6 @@ set(OPENCOLORIO_EXTRA_ARGS
|
|||||||
-DOCIO_STATIC_JNIGLUE=OFF
|
-DOCIO_STATIC_JNIGLUE=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
if(APPLE AND NOT("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
|
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
|
||||||
-DOCIO_USE_SSE=OFF
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(OCIO_PATCH opencolorio_win.diff)
|
set(OCIO_PATCH opencolorio_win.diff)
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
|
@@ -18,41 +18,26 @@
|
|||||||
|
|
||||||
|
|
||||||
set(OIDN_EXTRA_ARGS
|
set(OIDN_EXTRA_ARGS
|
||||||
-DOIDN_APPS=OFF
|
-DWITH_EXAMPLE=OFF
|
||||||
|
-DWITH_TEST=OFF
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb
|
-DTBB_ROOT=${LIBDIR}/tbb
|
||||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
||||||
-DOIDN_STATIC_LIB=ON
|
-DOIDN_STATIC_LIB=ON
|
||||||
-DOIDN_STATIC_RUNTIME=OFF
|
|
||||||
-DISPC_EXECUTABLE=${LIBDIR}/ispc/bin/ispc
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OIDN_EXTRA_ARGS
|
|
||||||
${OIDN_EXTRA_ARGS}
|
|
||||||
-DTBB_DEBUG_LIBRARY=${LIBDIR}/tbb/lib/tbb.lib
|
|
||||||
-DTBB_DEBUG_LIBRARY_MALLOC=${LIBDIR}/tbb/lib/tbbmalloc.lib
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OIDN_EXTRA_ARGS
|
|
||||||
${OIDN_EXTRA_ARGS}
|
|
||||||
-Dtbb_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/tbb_static.a
|
|
||||||
-Dtbbmalloc_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/tbbmalloc_static.a
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openimagedenoise
|
ExternalProject_Add(external_openimagedenoise
|
||||||
URL ${OIDN_URI}
|
URL ${OIDN_URI}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${OIDN_HASH}
|
URL_HASH MD5=${OIDN_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openimagedenoise
|
PREFIX ${BUILD_DIR}/openimagedenoise
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimagedenoise ${DEFAULT_CMAKE_FLAGS} ${OIDN_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimagedenoise ${DEFAULT_CMAKE_FLAGS} ${OIDN_EXTRA_ARGS}
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/openimagedenoise/src/external_openimagedenoise < ${PATCH_DIR}/openimagedenoise.diff
|
||||||
INSTALL_DIR ${LIBDIR}/openimagedenoise
|
INSTALL_DIR ${LIBDIR}/openimagedenoise
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_openimagedenoise
|
external_openimagedenoise
|
||||||
external_tbb
|
external_tbb
|
||||||
external_ispc
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -61,7 +46,7 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openimagedenoise/include ${HARVEST_TARGET}/openimagedenoise/include
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openimagedenoise/include ${HARVEST_TARGET}/openimagedenoise/include
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/dnnl.lib ${HARVEST_TARGET}/openimagedenoise/lib/dnnl.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/mkldnn.lib ${HARVEST_TARGET}/openimagedenoise/lib/mkldnn.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -69,7 +54,7 @@ if(WIN32)
|
|||||||
ExternalProject_Add_Step(external_openimagedenoise after_install
|
ExternalProject_Add_Step(external_openimagedenoise after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/dnnl.lib ${HARVEST_TARGET}/openimagedenoise/lib/dnnl_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/mkldnn.lib ${HARVEST_TARGET}/openimagedenoise/lib/mkldnn_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -32,7 +32,7 @@ endif()
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(PNG_LIBNAME libpng16_static${LIBEXT})
|
set(PNG_LIBNAME libpng16_static${LIBEXT})
|
||||||
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2)
|
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2 -DOPJ_STATIC=1)
|
||||||
set(OPENJPEG_POSTFIX _msvc)
|
set(OPENJPEG_POSTFIX _msvc)
|
||||||
else()
|
else()
|
||||||
set(PNG_LIBNAME libpng${LIBEXT})
|
set(PNG_LIBNAME libpng${LIBEXT})
|
||||||
@@ -49,17 +49,23 @@ endif()
|
|||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(OPENJPEG_FLAGS
|
set(OPENJPEG_FLAGS
|
||||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg_msvc
|
-DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc
|
||||||
|
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
||||||
|
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT}
|
||||||
|
-DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENJPEG_FLAGS
|
set(OPENJPEG_FLAGS
|
||||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg
|
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
||||||
|
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg/lib/${OPENJPEG_LIBRARY}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENIMAGEIO_EXTRA_ARGS
|
set(OPENIMAGEIO_EXTRA_ARGS
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILDSTATIC=ON
|
||||||
${OPENIMAGEIO_LINKSTATIC}
|
${OPENIMAGEIO_LINKSTATIC}
|
||||||
|
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/openexr/
|
||||||
|
-DOPENEXR_ILMIMF_LIBRARIES=${LIBDIR}/openexr/lib/IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
-DBoost_USE_MULTITHREADED=ON
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
-DBoost_USE_STATIC_LIBS=ON
|
||||||
@@ -67,16 +73,7 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DBoost_NO_SYSTEM_PATHS=ON
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-OIIO_BUILD_CPP11=ON
|
-OIIO_BUILD_CPP11=ON
|
||||||
-DUSE_LIBSQUISH=OFF
|
|
||||||
-DUSE_QT5=OFF
|
|
||||||
-DUSE_NUKE=OFF
|
|
||||||
-DUSE_OPENVDB=OFF
|
|
||||||
-DUSE_BZIP2=OFF
|
|
||||||
-DUSE_FREETYPE=OFF
|
|
||||||
-DUSE_DCMTK=OFF
|
|
||||||
-DUSE_LIBHEIF=OFF
|
|
||||||
-DUSE_OPENGL=OFF
|
-DUSE_OPENGL=OFF
|
||||||
-DUSE_TBB=OFF
|
-DUSE_TBB=OFF
|
||||||
-DUSE_FIELD3D=OFF
|
-DUSE_FIELD3D=OFF
|
||||||
@@ -84,12 +81,15 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DUSE_PYTHON=OFF
|
-DUSE_PYTHON=OFF
|
||||||
-DUSE_GIF=OFF
|
-DUSE_GIF=OFF
|
||||||
-DUSE_OPENCV=OFF
|
-DUSE_OPENCV=OFF
|
||||||
|
-DUSE_OPENSSL=OFF
|
||||||
-DUSE_OPENJPEG=ON
|
-DUSE_OPENJPEG=ON
|
||||||
-DUSE_FFMPEG=OFF
|
-DUSE_FFMPEG=OFF
|
||||||
-DUSE_PTEX=OFF
|
-DUSE_PTEX=OFF
|
||||||
-DUSE_FREETYPE=OFF
|
-DUSE_FREETYPE=OFF
|
||||||
-DUSE_LIBRAW=OFF
|
-DUSE_LIBRAW=OFF
|
||||||
-DUSE_OPENCOLORIO=OFF
|
-DUSE_PYTHON=OFF
|
||||||
|
-DUSE_PYTHON3=OFF
|
||||||
|
-DUSE_OCIO=OFF
|
||||||
-DUSE_WEBP=${WITH_WEBP}
|
-DUSE_WEBP=${WITH_WEBP}
|
||||||
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
||||||
-DOIIO_BUILD_TESTS=OFF
|
-DOIIO_BUILD_TESTS=OFF
|
||||||
@@ -103,13 +103,17 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY}
|
-DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY}
|
||||||
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include
|
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include
|
||||||
${OPENJPEG_FLAGS}
|
${OPENJPEG_FLAGS}
|
||||||
|
-DOCIO_PATH=${LIBDIR}/opencolorio/
|
||||||
-DOpenEXR_USE_STATIC_LIBS=On
|
-DOpenEXR_USE_STATIC_LIBS=On
|
||||||
|
-DOPENEXR_HOME=${LIBDIR}/openexr/
|
||||||
|
-DILMBASE_INCLUDE_PATH=${LIBDIR}/openexr/
|
||||||
|
-DILMBASE_PACKAGE_PREFIX=${LIBDIR}/openexr/
|
||||||
-DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
-DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
||||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
|
||||||
-DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
|
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
||||||
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DSTOP_ON_WARNING=OFF
|
-DSTOP_ON_WARNING=OFF
|
||||||
${WEBP_FLAGS}
|
${WEBP_FLAGS}
|
||||||
@@ -121,38 +125,27 @@ ExternalProject_Add(external_openimageio
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${OPENIMAGEIO_HASH}
|
URL_HASH MD5=${OPENIMAGEIO_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openimageio
|
PREFIX ${BUILD_DIR}/openimageio
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio.diff
|
PATCH_COMMAND
|
||||||
|
${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/src/include < ${PATCH_DIR}/openimageio_gdi.diff &&
|
||||||
|
${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio_static_libs.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/openimageio
|
INSTALL_DIR ${LIBDIR}/openimageio
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_openimageio
|
external_openimageio
|
||||||
external_png
|
external_png external_zlib
|
||||||
external_zlib
|
|
||||||
external_openexr
|
external_openexr
|
||||||
external_jpeg
|
external_jpeg
|
||||||
external_boost
|
external_boost
|
||||||
external_tiff
|
external_tiff
|
||||||
|
external_opencolorio
|
||||||
external_openjpeg${OPENJPEG_POSTFIX}
|
external_openjpeg${OPENJPEG_POSTFIX}
|
||||||
${WEBP_DEP}
|
${WEBP_DEP}
|
||||||
)
|
)
|
||||||
|
if(NOT WIN32)
|
||||||
if(WIN32)
|
add_dependencies(
|
||||||
if(BUILD_MODE STREQUAL Release)
|
external_openimageio
|
||||||
ExternalProject_Add_Step(external_openimageio after_install
|
external_opencolorio_extra
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include
|
)
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe
|
|
||||||
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_openimageio after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
@@ -22,7 +22,6 @@ ExternalProject_Add(external_openmp
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${OPENMP_HASH}
|
URL_HASH MD5=${OPENMP_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openmp
|
PREFIX ${BUILD_DIR}/openmp
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openmp/src/external_openmp < ${PATCH_DIR}/openmp.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS}
|
||||||
INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @executable_path/../Resources/lib/libomp.dylib runtime/src/libomp.dylib && make install
|
INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @executable_path/../Resources/lib/libomp.dylib runtime/src/libomp.dylib && make install
|
||||||
INSTALL_DIR ${LIBDIR}/openmp
|
INSTALL_DIR ${LIBDIR}/openmp
|
||||||
|
@@ -67,7 +67,7 @@ endif()
|
|||||||
ExternalProject_Add(external_opensubdiv
|
ExternalProject_Add(external_opensubdiv
|
||||||
URL ${OPENSUBDIV_URI}
|
URL ${OPENSUBDIV_URI}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${OPENSUBDIV_HASH}
|
URL_HASH MD5=${OPENSUBDIV_Hash}
|
||||||
PREFIX ${BUILD_DIR}/opensubdiv
|
PREFIX ${BUILD_DIR}/opensubdiv
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opensubdiv -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${OPENSUBDIV_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opensubdiv -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${OPENSUBDIV_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/opensubdiv
|
INSTALL_DIR ${LIBDIR}/opensubdiv
|
||||||
|
@@ -27,7 +27,6 @@ set(OPENVDB_EXTRA_ARGS
|
|||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
-DBoost_USE_STATIC_RUNTIME=OFF
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DBoost_NO_SYSTEM_PATHS=ON
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||||
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
|
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/lapack/fftw3 by installing mingw64" ON)
|
||||||
endif()
|
endif()
|
||||||
option(WITH_WEBP "Enable building of oiio with webp support" OFF)
|
option(WITH_WEBP "Enable building of oiio with webp support" OFF)
|
||||||
set(MAKE_THREADS 1 CACHE STRING "Number of threads to run make with")
|
set(MAKE_THREADS 1 CACHE STRING "Number of threads to run make with")
|
||||||
@@ -45,7 +45,11 @@ message("PATCH_DIR = ${PATCH_DIR}")
|
|||||||
message("BUILD_DIR = ${BUILD_DIR}")
|
message("BUILD_DIR = ${BUILD_DIR}")
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
|
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
|
set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
|
||||||
|
else()
|
||||||
|
set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/patch.exe)
|
||||||
|
endif()
|
||||||
set(LIBEXT ".lib")
|
set(LIBEXT ".lib")
|
||||||
set(LIBPREFIX "")
|
set(LIBPREFIX "")
|
||||||
|
|
||||||
@@ -78,10 +82,17 @@ if(WIN32)
|
|||||||
set(PLATFORM_CXX_FLAGS)
|
set(PLATFORM_CXX_FLAGS)
|
||||||
set(PLATFORM_CMAKE_FLAGS)
|
set(PLATFORM_CMAKE_FLAGS)
|
||||||
|
|
||||||
set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64)
|
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
set(MINGW_SHELL ming64sh.cmd)
|
set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64)
|
||||||
set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
|
set(MINGW_SHELL ming64sh.cmd)
|
||||||
set(MINGW_HOST x86_64-w64-mingw32)
|
set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
|
||||||
|
set(MINGW_HOST x86_64-w64-mingw32)
|
||||||
|
else()
|
||||||
|
set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw32)
|
||||||
|
set(MINGW_SHELL ming32sh.cmd)
|
||||||
|
set(PERL_SHELL ${DOWNLOAD_DIR}/perl32/portableshell.bat)
|
||||||
|
set(MINGW_HOST i686-w64-mingw32)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CONFIGURE_ENV
|
set(CONFIGURE_ENV
|
||||||
cd ${MINGW_PATH} &&
|
cd ${MINGW_PATH} &&
|
||||||
@@ -113,32 +124,16 @@ else()
|
|||||||
COMMAND xcode-select --print-path
|
COMMAND xcode-select --print-path
|
||||||
OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
)
|
)
|
||||||
execute_process(
|
set(OSX_ARCHITECTURES x86_64)
|
||||||
COMMAND xcodebuild -version -sdk macosx SDKVersion
|
set(OSX_DEPLOYMENT_TARGET 10.11)
|
||||||
OUTPUT_VARIABLE MACOSX_SDK_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
|
|
||||||
if(NOT CMAKE_OSX_ARCHITECTURES)
|
|
||||||
execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
message(STATUS "Detected native architecture ${ARCHITECTURE}.")
|
|
||||||
set(CMAKE_OSX_ARCHITECTURES "${ARCHITECTURE}")
|
|
||||||
endif()
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
|
||||||
set(OSX_DEPLOYMENT_TARGET 10.13)
|
|
||||||
else()
|
|
||||||
set(OSX_DEPLOYMENT_TARGET 11.00)
|
|
||||||
endif()
|
|
||||||
set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
|
set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
|
||||||
|
|
||||||
set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}")
|
||||||
set(PLATFORM_CXXFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}")
|
set(PLATFORM_CXXFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++")
|
||||||
set(PLATFORM_LDFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
set(PLATFORM_LDFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}")
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin15.0.0) # OS X 10.11
|
||||||
set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin17.0.0) # OS X 10.13
|
|
||||||
else()
|
|
||||||
set(PLATFORM_BUILD_TARGET --build=aarch64-apple-darwin20.0.0) # macOS 11.00
|
|
||||||
endif()
|
|
||||||
set(PLATFORM_CMAKE_FLAGS
|
set(PLATFORM_CMAKE_FLAGS
|
||||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
-DCMAKE_OSX_ARCHITECTURES:STRING=${OSX_ARCHITECTURES}
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET}
|
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET}
|
||||||
-DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT}
|
-DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT}
|
||||||
)
|
)
|
||||||
@@ -171,7 +166,6 @@ else()
|
|||||||
|
|
||||||
set(CONFIGURE_ENV
|
set(CONFIGURE_ENV
|
||||||
export MACOSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} &&
|
export MACOSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} &&
|
||||||
export MACOSX_SDK_VERSION=${OSX_DEPLOYMENT_TARGET} &&
|
|
||||||
export CFLAGS=${PLATFORM_CFLAGS} &&
|
export CFLAGS=${PLATFORM_CFLAGS} &&
|
||||||
export CXXFLAGS=${PLATFORM_CXXFLAGS} &&
|
export CXXFLAGS=${PLATFORM_CXXFLAGS} &&
|
||||||
export LDFLAGS=${PLATFORM_LDFLAGS}
|
export LDFLAGS=${PLATFORM_LDFLAGS}
|
||||||
|
@@ -44,7 +44,6 @@ set(OSL_EXTRA_ARGS
|
|||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DBoost_NO_SYSTEM_PATHS=ON
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DLLVM_DIRECTORY=${LIBDIR}/llvm
|
-DLLVM_DIRECTORY=${LIBDIR}/llvm
|
||||||
-DLLVM_INCLUDES=${LIBDIR}/llvm/include
|
-DLLVM_INCLUDES=${LIBDIR}/llvm/include
|
||||||
-DLLVM_LIB_DIR=${LIBDIR}/llvm/lib
|
-DLLVM_LIB_DIR=${LIBDIR}/llvm/lib
|
||||||
@@ -75,7 +74,6 @@ set(OSL_EXTRA_ARGS
|
|||||||
-DUSE_LLVM_BITCODE=OFF
|
-DUSE_LLVM_BITCODE=OFF
|
||||||
-DUSE_PARTIO=OFF
|
-DUSE_PARTIO=OFF
|
||||||
-DUSE_QT=OFF
|
-DUSE_QT=OFF
|
||||||
-DINSTALL_DOCS=OFF
|
|
||||||
${OSL_SIMD_FLAGS}
|
${OSL_SIMD_FLAGS}
|
||||||
-DPARTIO_LIBRARIES=
|
-DPARTIO_LIBRARIES=
|
||||||
)
|
)
|
||||||
|
@@ -22,14 +22,10 @@ set(PNG_EXTRA_ARGS
|
|||||||
-DPNG_STATIC=ON
|
-DPNG_STATIC=ON
|
||||||
)
|
)
|
||||||
|
|
||||||
if(APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64"))
|
|
||||||
set(PNG_EXTRA_ARGS ${PNG_EXTRA_ARGS} -DPNG_HARDWARE_OPTIMIZATIONS=ON -DPNG_ARM_NEON=on -DCMAKE_SYSTEM_PROCESSOR="aarch64")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_png
|
ExternalProject_Add(external_png
|
||||||
URL ${PNG_URI}
|
URL ${PNG_URI}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${PNG_HASH}
|
URL_HASH MD5=${PNG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/png
|
PREFIX ${BUILD_DIR}/png
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/png
|
INSTALL_DIR ${LIBDIR}/png
|
||||||
|
@@ -48,12 +48,7 @@ if(WIN32)
|
|||||||
|
|
||||||
else()
|
else()
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
# Disable functions that can be in 10.13 sdk but aren't available on 10.9 target.
|
# disable functions that can be in 10.13 sdk but aren't available on 10.9 target
|
||||||
#
|
|
||||||
# Disable libintl (gettext library) as it might come from Homebrew, which makes
|
|
||||||
# it so test program compiles, but the Python does not. This is because for Python
|
|
||||||
# we use isysroot, which seems to forbid using libintl.h.
|
|
||||||
# The gettext functionality seems to come from CoreFoundation, so should be all fine.
|
|
||||||
set(PYTHON_FUNC_CONFIGS
|
set(PYTHON_FUNC_CONFIGS
|
||||||
export ac_cv_func_futimens=no &&
|
export ac_cv_func_futimens=no &&
|
||||||
export ac_cv_func_utimensat=no &&
|
export ac_cv_func_utimensat=no &&
|
||||||
@@ -65,21 +60,13 @@ else()
|
|||||||
export ac_cv_func_getentropy=no &&
|
export ac_cv_func_getentropy=no &&
|
||||||
export ac_cv_func_mkostemp=no &&
|
export ac_cv_func_mkostemp=no &&
|
||||||
export ac_cv_func_mkostemps=no &&
|
export ac_cv_func_mkostemps=no &&
|
||||||
export ac_cv_func_timingsafe_bcmp=no &&
|
export ac_cv_func_timingsafe_bcmp=no)
|
||||||
export ac_cv_header_libintl_h=no &&
|
|
||||||
export ac_cv_lib_intl_textdomain=no
|
|
||||||
)
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(PYTHON_FUNC_CONFIGS ${PYTHON_FUNC_CONFIGS} && export PYTHON_DECIMAL_WITH_MACHINE=ansi64)
|
|
||||||
endif()
|
|
||||||
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS})
|
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS})
|
||||||
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe)
|
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe)
|
||||||
set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_macos.diff)
|
|
||||||
else()
|
else()
|
||||||
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV})
|
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV})
|
||||||
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python)
|
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python)
|
||||||
set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_linux.diff)
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl")
|
set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl")
|
||||||
set(PYTHON_CFLAGS "-I${LIBDIR}/sqlite/include -I${LIBDIR}/bzip2/include -I${LIBDIR}/lzma/include -I${LIBDIR}/zlib/include")
|
set(PYTHON_CFLAGS "-I${LIBDIR}/sqlite/include -I${LIBDIR}/bzip2/include -I${LIBDIR}/lzma/include -I${LIBDIR}/zlib/include")
|
||||||
@@ -89,6 +76,7 @@ else()
|
|||||||
export CPPFLAGS=${PYTHON_CFLAGS} &&
|
export CPPFLAGS=${PYTHON_CFLAGS} &&
|
||||||
export LDFLAGS=${PYTHON_LDFLAGS} &&
|
export LDFLAGS=${PYTHON_LDFLAGS} &&
|
||||||
export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig)
|
export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig)
|
||||||
|
set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_linux.diff)
|
||||||
|
|
||||||
ExternalProject_Add(external_python
|
ExternalProject_Add(external_python
|
||||||
URL ${PYTHON_URI}
|
URL ${PYTHON_URI}
|
||||||
|
227
build_files/build_environment/cmake/setup_mingw32.cmake
Normal file
227
build_files/build_environment/cmake/setup_mingw32.cmake
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
# ***** 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 *****
|
||||||
|
|
||||||
|
####################################################################################################################
|
||||||
|
# Mingw32 Builds
|
||||||
|
####################################################################################################################
|
||||||
|
# This installs mingw32+msys to compile ffmpeg/iconv/libsndfile/lapack/fftw3
|
||||||
|
####################################################################################################################
|
||||||
|
|
||||||
|
message("LIBDIR = ${LIBDIR}")
|
||||||
|
macro(cmake_to_msys_path MsysPath ResultingPath)
|
||||||
|
string(REPLACE ":" "" TmpPath "${MsysPath}")
|
||||||
|
string(SUBSTRING ${TmpPath} 0 1 Drive)
|
||||||
|
string(SUBSTRING ${TmpPath} 1 255 PathPart)
|
||||||
|
string(TOLOWER ${Drive} LowerDrive)
|
||||||
|
string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart})
|
||||||
|
endmacro()
|
||||||
|
cmake_to_msys_path(${LIBDIR} mingw_LIBDIR)
|
||||||
|
message("mingw_LIBDIR = ${mingw_LIBDIR}")
|
||||||
|
|
||||||
|
message("Checking for mingw32")
|
||||||
|
# download mingw32
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z")
|
||||||
|
message("Downloading mingw32")
|
||||||
|
file(DOWNLOAD "https://astuteinternet.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.4/threads-win32/sjlj/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# make mingw root directory
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# extract mingw32
|
||||||
|
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd") AND (EXISTS "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z"))
|
||||||
|
message("Extracting mingw32")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("Checking for pkg-config")
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")
|
||||||
|
message("Downloading pkg-config")
|
||||||
|
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# extract pkgconfig
|
||||||
|
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe") AND (EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip"))
|
||||||
|
message("Extracting pkg-config")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip"
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/
|
||||||
|
)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe"
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("Checking for nasm")
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip")
|
||||||
|
message("Downloading nasm")
|
||||||
|
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.13.02-win32.zip"))
|
||||||
|
message("Extracting nasm")
|
||||||
|
execute_process(
|
||||||
|
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.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")
|
||||||
|
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# extract mingw_get
|
||||||
|
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip"))
|
||||||
|
message("Extracting mingw-get")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip"
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/make.exe"))
|
||||||
|
message("Installing MSYS")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-patch
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/mktemp.exe"))
|
||||||
|
message("Installing mktemp")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-mktemp
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
message("Checking for CoreUtils")
|
||||||
|
# download old core_utils for pr.exe (ffmpeg needs it to build)
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
|
||||||
|
message("Downloading CoreUtils 5.97")
|
||||||
|
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe"))
|
||||||
|
message("Installing pr from CoreUtils 5.97")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/
|
||||||
|
)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe"
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd")
|
||||||
|
message("Installing ming32sh.cmd")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming32sh.cmd ${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("Checking for perl")
|
||||||
|
# download perl for libvpx
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip")
|
||||||
|
message("Downloading perl")
|
||||||
|
file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-32bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# make perl root directory
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/perl32")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl32
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# extract perl
|
||||||
|
if((NOT EXISTS "${DOWNLOAD_DIR}/perl32/portable.perl") AND (EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip"))
|
||||||
|
message("Extracting perl")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip
|
||||||
|
WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl32
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# get yasm for vpx
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe")
|
||||||
|
message("Downloading yasm")
|
||||||
|
file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("checking i686-w64-mingw32-strings")
|
||||||
|
# copy strings.exe to i686-w64-mingw32-strings for x264
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe")
|
||||||
|
message("fixing i686-w64-mingw32-strings.exe")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("checking i686-w64-mingw32-ar.exe")
|
||||||
|
# copy ar.exe to i686-w64-mingw32-ar.exe for x264
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe")
|
||||||
|
message("fixing i686-w64-mingw32-ar.exe")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("checking i686-w64-mingw32-strip.exe")
|
||||||
|
# copy strip.exe to i686-w64-mingw32-strip.exe for x264
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe")
|
||||||
|
message("fixing i686-w64-mingw32-strip.exe")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("checking i686-w64-mingw32-ranlib.exe")
|
||||||
|
# copy ranlib.exe to i686-w64-mingw32-ranlib.exe for x264
|
||||||
|
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe")
|
||||||
|
message("fixing i686-w64-mingw32-ranlib.exe")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe"
|
||||||
|
)
|
||||||
|
endif()
|
@@ -19,7 +19,7 @@
|
|||||||
####################################################################################################################
|
####################################################################################################################
|
||||||
# Mingw64 Builds
|
# Mingw64 Builds
|
||||||
####################################################################################################################
|
####################################################################################################################
|
||||||
# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/fftw3
|
# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/lapack/fftw3
|
||||||
####################################################################################################################
|
####################################################################################################################
|
||||||
|
|
||||||
message("LIBDIR = ${LIBDIR}")
|
message("LIBDIR = ${LIBDIR}")
|
||||||
@@ -128,14 +128,6 @@ if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "$
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe"))
|
|
||||||
message("Installing m4")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-m4
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("Checking for CoreUtils")
|
message("Checking for CoreUtils")
|
||||||
# download old core_utils for pr.exe (ffmpeg needs it to build)
|
# download old core_utils for pr.exe (ffmpeg needs it to build)
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
|
if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
|
||||||
|
@@ -60,14 +60,3 @@ if(UNIX)
|
|||||||
external_flac
|
external_flac
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_sndfile after_install
|
|
||||||
COMMAND lib /def:${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.def /machine:x64 /out:${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.lib ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h
|
|
||||||
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
@@ -51,7 +51,7 @@ ExternalProject_Add(external_sqlite
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA1=${SQLITE_HASH}
|
URL_HASH SHA1=${SQLITE_HASH}
|
||||||
PREFIX ${BUILD_DIR}/sqlite
|
PREFIX ${BUILD_DIR}/sqlite
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/sqlite/src/external_sqlite < ${PATCH_DIR}/sqlite.diff
|
PATCH_COMMAND ${SQLITE_PATCH_CMD}
|
||||||
CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS}
|
CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS}
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install
|
||||||
|
@@ -20,7 +20,7 @@ set(SSL_CONFIGURE_COMMAND ./Configure)
|
|||||||
set(SSL_PATCH_CMD echo .)
|
set(SSL_PATCH_CMD echo .)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(SSL_OS_COMPILER "blender-darwin-${CMAKE_OSX_ARCHITECTURES}")
|
set(SSL_OS_COMPILER "blender-darwin-x86_64")
|
||||||
else()
|
else()
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
set(SSL_EXTRA_ARGS enable-ec_nistp_64_gcc_128)
|
set(SSL_EXTRA_ARGS enable-ec_nistp_64_gcc_128)
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
my %targets = (
|
%targets = (
|
||||||
|
|
||||||
"blender-linux-x86" => {
|
"blender-linux-x86" => {
|
||||||
inherit_from => [ "linux-x86" ],
|
inherit_from => [ "linux-x86" ],
|
||||||
@@ -12,9 +12,4 @@ my %targets = (
|
|||||||
inherit_from => [ "darwin64-x86_64-cc" ],
|
inherit_from => [ "darwin64-x86_64-cc" ],
|
||||||
cflags => add("-fPIC"),
|
cflags => add("-fPIC"),
|
||||||
},
|
},
|
||||||
"blender-darwin-arm64" => {
|
|
||||||
inherit_from => [ "darwin-common" ],
|
|
||||||
cxxflags => add("-fPIC -arch arm64"),
|
|
||||||
cflags => add("-fPIC -arch arm64"),
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
|
@@ -50,13 +50,6 @@ ExternalProject_Add(external_tbb
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(external_tbb after_install
|
ExternalProject_Add_Step(external_tbb after_install
|
||||||
# findtbb.cmake in some deps *NEEDS* to find tbb_debug.lib even if they are not going to use it
|
|
||||||
# to make that test pass, we place a copy with the right name in the lib folder.
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb_debug.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.dll ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.dll
|
|
||||||
# Normal collection of build artifacts
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb.dll
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb.dll
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc.lib
|
||||||
|
@@ -27,7 +27,6 @@ ExternalProject_Add(external_theora
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${THEORA_HASH}
|
URL_HASH SHA256=${THEORA_HASH}
|
||||||
PREFIX ${BUILD_DIR}/theora
|
PREFIX ${BUILD_DIR}/theora
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/theora/src/external_theora < ${PATCH_DIR}/theora.diff
|
|
||||||
CONFIGURE_COMMAND ${THEORA_CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/theora
|
CONFIGURE_COMMAND ${THEORA_CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/theora
|
||||||
--disable-shared
|
--disable-shared
|
||||||
--enable-static
|
--enable-static
|
||||||
|
@@ -16,12 +16,6 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
set(WITH_TIFF_WEBP ON)
|
|
||||||
else()
|
|
||||||
set(WITH_TIFF_WEBP OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(TIFF_EXTRA_ARGS
|
set(TIFF_EXTRA_ARGS
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
||||||
@@ -29,8 +23,6 @@ set(TIFF_EXTRA_ARGS
|
|||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-Dlzma=OFF
|
-Dlzma=OFF
|
||||||
-Djbig=OFF
|
-Djbig=OFF
|
||||||
-Dzstd=OFF
|
|
||||||
-Dwebp=${WITH_TIFF_WEBP}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_tiff
|
ExternalProject_Add(external_tiff
|
||||||
|
@@ -22,14 +22,9 @@ set(USD_EXTRA_ARGS
|
|||||||
-DBoost_USE_STATIC_LIBS=ON
|
-DBoost_USE_STATIC_LIBS=ON
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
-DBoost_USE_STATIC_RUNTIME=OFF
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
||||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
||||||
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
||||||
# USD wants the tbb debug lib set even when you are doing a release build
|
|
||||||
# Otherwise it will error out during the cmake configure phase.
|
|
||||||
-DTBB_LIBRARIES_DEBUG=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
|
||||||
|
|
||||||
# This is a preventative measure that avoids possible conflicts when add-ons
|
# This is a preventative measure that avoids possible conflicts when add-ons
|
||||||
# try to load another USD library into the same process space.
|
# try to load another USD library into the same process space.
|
||||||
@@ -81,14 +76,14 @@ if(WIN32)
|
|||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
ExternalProject_Add_Step(external_usd after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/ ${HARVEST_TARGET}/usd
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/ ${HARVEST_TARGET}/usd
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Release/usd_m.lib ${HARVEST_TARGET}/usd/lib/libusd_m.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Release/libusd_m.lib ${HARVEST_TARGET}/usd/lib/libusd_m.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
ExternalProject_Add_Step(external_usd after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/lib ${HARVEST_TARGET}/usd/lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/lib ${HARVEST_TARGET}/usd/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Debug/usd_m_d.lib ${HARVEST_TARGET}/usd/lib/libusd_m_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Debug/libusd_m_d.lib ${HARVEST_TARGET}/usd/lib/libusd_m_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -20,17 +20,17 @@ set(ZLIB_VERSION 1.2.11)
|
|||||||
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
||||||
set(ZLIB_HASH 1c9f62f0778697a09d36121ead88e08e)
|
set(ZLIB_HASH 1c9f62f0778697a09d36121ead88e08e)
|
||||||
|
|
||||||
set(OPENAL_VERSION 1.20.1)
|
set(OPENAL_VERSION 1.18.2)
|
||||||
set(OPENAL_URI http://openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
set(OPENAL_URI http://openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
||||||
set(OPENAL_HASH 556695068ce8375b89986083d810fd35)
|
set(OPENAL_HASH d4eeb0889812e2fdeaa1843523d76190)
|
||||||
|
|
||||||
set(PNG_VERSION 1.6.37)
|
set(PNG_VERSION 1.6.35)
|
||||||
set(PNG_URI http://prdownloads.sourceforge.net/libpng/libpng-${PNG_VERSION}.tar.xz)
|
set(PNG_URI http://prdownloads.sourceforge.net/libpng/libpng-${PNG_VERSION}.tar.xz)
|
||||||
set(PNG_HASH 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca)
|
set(PNG_HASH 678b7e696a62a193ed3503b04bf449d6)
|
||||||
|
|
||||||
set(JPEG_VERSION 2.0.4)
|
set(JPEG_VERSION 1.5.3)
|
||||||
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
|
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
|
||||||
set(JPEG_HASH 44c43e4a9fb352f47090804529317c88)
|
set(JPEG_HASH 5b7549d440b86c98a517355c102d155e)
|
||||||
|
|
||||||
set(BOOST_VERSION 1.70.0)
|
set(BOOST_VERSION 1.70.0)
|
||||||
set(BOOST_VERSION_NODOTS 1_70_0)
|
set(BOOST_VERSION_NODOTS 1_70_0)
|
||||||
@@ -66,9 +66,9 @@ else()
|
|||||||
set(OPENEXR_VERSION_POSTFIX)
|
set(OPENEXR_VERSION_POSTFIX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(FREETYPE_VERSION 2.10.2)
|
set(FREETYPE_VERSION 2.10.1)
|
||||||
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
|
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
|
||||||
set(FREETYPE_HASH b1cb620e4c875cd4d1bfa04945400945)
|
set(FREETYPE_HASH c50a3c9e5e62bdc938a6e1598a782947)
|
||||||
|
|
||||||
set(GLEW_VERSION 1.13.0)
|
set(GLEW_VERSION 1.13.0)
|
||||||
set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz)
|
set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz)
|
||||||
@@ -78,6 +78,10 @@ set(FREEGLUT_VERSION 3.0.0)
|
|||||||
set(FREEGLUT_URI http://pilotfiber.dl.sourceforge.net/project/freeglut/freeglut/${FREEGLUT_VERSION}/freeglut-${FREEGLUT_VERSION}.tar.gz)
|
set(FREEGLUT_URI http://pilotfiber.dl.sourceforge.net/project/freeglut/freeglut/${FREEGLUT_VERSION}/freeglut-${FREEGLUT_VERSION}.tar.gz)
|
||||||
set(FREEGLUT_HASH 90c3ca4dd9d51cf32276bc5344ec9754)
|
set(FREEGLUT_HASH 90c3ca4dd9d51cf32276bc5344ec9754)
|
||||||
|
|
||||||
|
set(HDF5_VERSION 1.8.17)
|
||||||
|
set(HDF5_URI https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${HDF5_VERSION}/src/hdf5-${HDF5_VERSION}.tar.gz)
|
||||||
|
set(HDF5_HASH 7d572f8f3b798a628b8245af0391a0ca)
|
||||||
|
|
||||||
set(ALEMBIC_VERSION 1.7.12)
|
set(ALEMBIC_VERSION 1.7.12)
|
||||||
set(ALEMBIC_URI https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz)
|
set(ALEMBIC_URI https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz)
|
||||||
set(ALEMBIC_MD5 e2b3777f23c5c09481a008cc6f0f8a40)
|
set(ALEMBIC_MD5 e2b3777f23c5c09481a008cc6f0f8a40)
|
||||||
@@ -97,21 +101,21 @@ set(CUEW_GIT_UID 1744972026de9cf27c8a7dc39cf39cd83d5f922f)
|
|||||||
set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
|
set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
|
||||||
set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
|
set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
|
||||||
|
|
||||||
set(OPENSUBDIV_VERSION v3_4_3)
|
set(OPENSUBDIV_VERSION v3_4_0_RC2)
|
||||||
|
set(OPENSUBDIV_Hash f6a10ba9efaa82fde86fe65aad346319)
|
||||||
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
|
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
|
||||||
set(OPENSUBDIV_HASH 7bbfa275d021fb829e521df749160edb)
|
|
||||||
|
|
||||||
set(SDL_VERSION 2.0.12)
|
set(SDL_VERSION 2.0.8)
|
||||||
set(SDL_URI https://www.libsdl.org/release/SDL2-${SDL_VERSION}.tar.gz)
|
set(SDL_URI https://www.libsdl.org/release/SDL2-${SDL_VERSION}.tar.gz)
|
||||||
set(SDL_HASH 783b6f2df8ff02b19bb5ce492b99c8ff)
|
set(SDL_HASH 3800d705cef742c6a634f202c37f263f)
|
||||||
|
|
||||||
set(OPENCOLLADA_VERSION v1.6.68)
|
set(OPENCOLLADA_VERSION v1.6.68)
|
||||||
set(OPENCOLLADA_URI https://github.com/KhronosGroup/OpenCOLLADA/archive/${OPENCOLLADA_VERSION}.tar.gz)
|
set(OPENCOLLADA_URI https://github.com/KhronosGroup/OpenCOLLADA/archive/${OPENCOLLADA_VERSION}.tar.gz)
|
||||||
set(OPENCOLLADA_HASH ee7dae874019fea7be11613d07567493)
|
set(OPENCOLLADA_HASH ee7dae874019fea7be11613d07567493)
|
||||||
|
|
||||||
set(OPENCOLORIO_VERSION 1.1.1)
|
set(OPENCOLORIO_VERSION 1.1.0)
|
||||||
set(OPENCOLORIO_URI https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
set(OPENCOLORIO_URI https://github.com/imageworks/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
||||||
set(OPENCOLORIO_HASH 23d8b9ac81599305539a5a8674b94a3d)
|
set(OPENCOLORIO_HASH 802d8f5b1d1fe316ec5f76511aa611b8)
|
||||||
|
|
||||||
set(LLVM_VERSION 9.0.1)
|
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_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz)
|
||||||
@@ -123,23 +127,23 @@ set(CLANG_HASH 13468e4a44940efef1b75e8641752f90)
|
|||||||
set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz)
|
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(OPENMP_HASH 6eade16057edbdecb3c4eef9daa2bfcf)
|
||||||
|
|
||||||
set(OPENIMAGEIO_VERSION 2.1.15.0)
|
set(OPENIMAGEIO_VERSION 1.8.13)
|
||||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
|
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
|
||||||
set(OPENIMAGEIO_HASH f03aa5e3ac4795af04771ee4146e9832)
|
set(OPENIMAGEIO_HASH f5526c3c9878029ee900d84856683f93)
|
||||||
|
|
||||||
set(TIFF_VERSION 4.1.0)
|
set(TIFF_VERSION 4.0.9)
|
||||||
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
|
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
|
||||||
set(TIFF_HASH 2165e7aba557463acc0664e71a3ed424)
|
set(TIFF_HASH 54bad211279cc93eb4fca31ba9bfdc79)
|
||||||
|
|
||||||
set(OSL_VERSION 1.10.10)
|
set(OSL_VERSION 1.10.9)
|
||||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
||||||
set(OSL_HASH 00dec08a93c8084e53848b9ad047889f)
|
set(OSL_HASH a94f1e8506f7e8f5e993653de5c5fa00)
|
||||||
|
|
||||||
set(PYTHON_VERSION 3.7.7)
|
set(PYTHON_VERSION 3.7.4)
|
||||||
set(PYTHON_SHORT_VERSION 3.7)
|
set(PYTHON_SHORT_VERSION 3.7)
|
||||||
set(PYTHON_SHORT_VERSION_NO_DOTS 37)
|
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_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz)
|
||||||
set(PYTHON_HASH 172c650156f7bea68ce31b2fd01fa766)
|
set(PYTHON_HASH d33e4aae66097051c2eca45ee3604803)
|
||||||
|
|
||||||
set(TBB_VERSION 2019_U9)
|
set(TBB_VERSION 2019_U9)
|
||||||
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
||||||
@@ -149,24 +153,24 @@ set(OPENVDB_VERSION 7.0.0)
|
|||||||
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
||||||
set(OPENVDB_HASH fd6c4f168282f7e0e494d290cd531fa8)
|
set(OPENVDB_HASH fd6c4f168282f7e0e494d290cd531fa8)
|
||||||
|
|
||||||
set(IDNA_VERSION 2.9)
|
set(IDNA_VERSION 2.8)
|
||||||
set(CHARDET_VERSION 3.0.4)
|
set(CHARDET_VERSION 3.0.4)
|
||||||
set(URLLIB3_VERSION 1.25.9)
|
set(URLLIB3_VERSION 1.25.3)
|
||||||
set(CERTIFI_VERSION 2020.4.5.2)
|
set(CERTIFI_VERSION 2019.6.16)
|
||||||
set(REQUESTS_VERSION 2.23.0)
|
set(REQUESTS_VERSION 2.22.0)
|
||||||
|
|
||||||
set(NUMPY_VERSION 1.17.5)
|
set(NUMPY_VERSION v1.17.0)
|
||||||
set(NUMPY_SHORT_VERSION 1.17)
|
set(NUMPY_SHORT_VERSION 1.17)
|
||||||
set(NUMPY_URI https://github.com/numpy/numpy/releases/download/v${NUMPY_VERSION}/numpy-${NUMPY_VERSION}.zip)
|
set(NUMPY_URI https://files.pythonhosted.org/packages/da/32/1b8f2bb5fb50e4db68543eb85ce37b9fa6660cd05b58bddfafafa7ed62da/numpy-1.17.0.zip)
|
||||||
set(NUMPY_HASH 763a5646fa6eef7a22f4895bca0524f2)
|
set(NUMPY_HASH aed49b31bcb44ec73b8155be78566135)
|
||||||
|
|
||||||
set(LAME_VERSION 3.100)
|
set(LAME_VERSION 3.100)
|
||||||
set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.100/lame-${LAME_VERSION}.tar.gz)
|
set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.100/lame-${LAME_VERSION}.tar.gz)
|
||||||
set(LAME_HASH 83e260acbe4389b54fe08e0bdbf7cddb)
|
set(LAME_HASH 83e260acbe4389b54fe08e0bdbf7cddb)
|
||||||
|
|
||||||
set(OGG_VERSION 1.3.4)
|
set(OGG_VERSION 1.3.3)
|
||||||
set(OGG_URI http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz)
|
set(OGG_URI http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz)
|
||||||
set(OGG_HASH fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e)
|
set(OGG_HASH c2e8a485110b97550f453226ec644ebac6cb29d1caef2902c007edab4308d985)
|
||||||
|
|
||||||
set(VORBIS_VERSION 1.3.6)
|
set(VORBIS_VERSION 1.3.6)
|
||||||
set(VORBIS_URI http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz)
|
set(VORBIS_URI http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz)
|
||||||
@@ -176,41 +180,51 @@ set(THEORA_VERSION 1.1.1)
|
|||||||
set(THEORA_URI http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.bz2)
|
set(THEORA_URI http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.bz2)
|
||||||
set(THEORA_HASH b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc)
|
set(THEORA_HASH b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc)
|
||||||
|
|
||||||
set(FLAC_VERSION 1.3.3)
|
set(FLAC_VERSION 1.3.2)
|
||||||
set(FLAC_URI http://downloads.xiph.org/releases/flac/flac-${FLAC_VERSION}.tar.xz)
|
set(FLAC_URI http://downloads.xiph.org/releases/flac/flac-${FLAC_VERSION}.tar.xz)
|
||||||
set(FLAC_HASH 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748)
|
set(FLAC_HASH 91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f)
|
||||||
|
|
||||||
set(VPX_VERSION 1.8.2)
|
set(VPX_VERSION 1.7.0)
|
||||||
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
|
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
|
||||||
set(VPX_HASH 8735d9fcd1a781ae6917f28f239a8aa358ce4864ba113ea18af4bb2dc8b474ac)
|
set(VPX_HASH 1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238)
|
||||||
|
|
||||||
set(OPUS_VERSION 1.3.1)
|
set(OPUS_VERSION 1.3.1)
|
||||||
set(OPUS_URI https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz)
|
set(OPUS_URI https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz)
|
||||||
set(OPUS_HASH 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d)
|
set(OPUS_HASH 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d)
|
||||||
|
|
||||||
set(X264_URI https://code.videolan.org/videolan/x264/-/archive/33f9e1474613f59392be5ab6a7e7abf60fa63622/x264-33f9e1474613f59392be5ab6a7e7abf60fa63622.tar.gz)
|
set(X264_URI http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20180811-2245-stable.tar.bz2)
|
||||||
set(X264_HASH 5456450ee1ae02cd2328be3157367a232a0ab73315e8c8f80dab80469524f525)
|
set(X264_HASH ae8a868a0e236a348b35d79f3ee80294b169d1195408b689f9851383661ed7aa)
|
||||||
|
|
||||||
set(XVIDCORE_VERSION 1.3.7)
|
set(XVIDCORE_VERSION 1.3.5)
|
||||||
set(XVIDCORE_URI https://downloads.xvid.com/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
set(XVIDCORE_URI http://downloads.xvid.org/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||||
set(XVIDCORE_HASH abbdcbd39555691dd1c9b4d08f0a031376a3b211652c0d8b3b8aa9be1303ce2d)
|
set(XVIDCORE_HASH 165ba6a2a447a8375f7b06db5a3c91810181f2898166e7c8137401d7fc894cf0)
|
||||||
|
|
||||||
set(OPENJPEG_VERSION 2.3.1)
|
# This has to be in sync with the version in blenders /extern folder.
|
||||||
|
set(OPENJPEG_VERSION 2.3.0)
|
||||||
set(OPENJPEG_SHORT_VERSION 2.3)
|
set(OPENJPEG_SHORT_VERSION 2.3)
|
||||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
# Use slightly newer commit after release which includes a cmake fix
|
||||||
set(OPENJPEG_HASH 63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9)
|
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/66297f07a43.zip)
|
||||||
|
set(OPENJPEG_HASH 8242b18d908c7c42174e4231a741cfa7ce7c26b6ed5c9644feb9df7b3054310b)
|
||||||
|
|
||||||
set(FFMPEG_VERSION 4.2.3)
|
set(FAAD_VERSION 2-2.8.8)
|
||||||
|
set(FAAD_URI http://downloads.sourceforge.net/faac/faad${FAAD_VERSION}.tar.gz)
|
||||||
|
set(FAAD_HASH 28f6116efdbe9378269f8a6221767d1f)
|
||||||
|
|
||||||
|
set(FFMPEG_VERSION 4.0.2)
|
||||||
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
||||||
set(FFMPEG_HASH 695fad11f3baf27784e24cb0e977b65a)
|
set(FFMPEG_HASH 5576e8a22f80b6a336db39808f427cfb)
|
||||||
|
|
||||||
set(FFTW_VERSION 3.3.8)
|
set(FFTW_VERSION 3.3.8)
|
||||||
set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz)
|
set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz)
|
||||||
set(FFTW_HASH 8aac833c943d8e90d51b697b27d4384d)
|
set(FFTW_HASH 8aac833c943d8e90d51b697b27d4384d)
|
||||||
|
|
||||||
set(ICONV_VERSION 1.16)
|
set(ICONV_VERSION 1.15)
|
||||||
set(ICONV_URI http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz)
|
set(ICONV_URI http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz)
|
||||||
set(ICONV_HASH 7d2a800b952942bb2880efb00cfd524c)
|
set(ICONV_HASH ace8b5f2db42f7b3b3057585e80d9808)
|
||||||
|
|
||||||
|
set(LAPACK_VERSION 3.6.0)
|
||||||
|
set(LAPACK_URI http://www.netlib.org/lapack/lapack-${LAPACK_VERSION}.tgz)
|
||||||
|
set(LAPACK_HASH f2f6c67134e851fe189bb3ca1fbb5101)
|
||||||
|
|
||||||
set(SNDFILE_VERSION 1.0.28)
|
set(SNDFILE_VERSION 1.0.28)
|
||||||
set(SNDFILE_URI http://www.mega-nerd.com/libsndfile/files/libsndfile-${SNDFILE_VERSION}.tar.gz)
|
set(SNDFILE_URI http://www.mega-nerd.com/libsndfile/files/libsndfile-${SNDFILE_VERSION}.tar.gz)
|
||||||
@@ -232,13 +246,13 @@ 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)
|
set(SPNAV_URI http://downloads.sourceforge.net/project/spacenav/spacenav%20library%20%28SDK%29/libspnav%20${SPNAV_VERSION}/libspnav-${SPNAV_VERSION}.tar.gz)
|
||||||
set(SPNAV_HASH 44d840540d53326d4a119c0f1aa7bf0a)
|
set(SPNAV_HASH 44d840540d53326d4a119c0f1aa7bf0a)
|
||||||
|
|
||||||
set(JEMALLOC_VERSION 5.2.1)
|
set(JEMALLOC_VERSION 5.0.1)
|
||||||
set(JEMALLOC_URI https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2)
|
set(JEMALLOC_URI https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2)
|
||||||
set(JEMALLOC_HASH 3d41fbf006e6ebffd489bdb304d009ae)
|
set(JEMALLOC_HASH 507f7b6b882d868730d644510491d18f)
|
||||||
|
|
||||||
set(XML2_VERSION 2.9.10)
|
set(XML2_VERSION 2.9.4)
|
||||||
set(XML2_URI http://xmlsoft.org/sources/libxml2-${XML2_VERSION}.tar.gz)
|
set(XML2_URI http://xmlsoft.org/sources/libxml2-${XML2_VERSION}.tar.gz)
|
||||||
set(XML2_HASH 10942a1dc23137a8aa07f0639cbfece5)
|
set(XML2_HASH ae249165c173b1ff386ee8ad676815f5)
|
||||||
|
|
||||||
set(TINYXML_VERSION 2_6_2)
|
set(TINYXML_VERSION 2_6_2)
|
||||||
set(TINYXML_VERSION_DOTS 2.6.2)
|
set(TINYXML_VERSION_DOTS 2.6.2)
|
||||||
@@ -253,9 +267,9 @@ set(LCMS_VERSION 2.9)
|
|||||||
set(LCMS_URI https://nchc.dl.sourceforge.net/project/lcms/lcms/${LCMS_VERSION}/lcms2-${LCMS_VERSION}.tar.gz)
|
set(LCMS_URI https://nchc.dl.sourceforge.net/project/lcms/lcms/${LCMS_VERSION}/lcms2-${LCMS_VERSION}.tar.gz)
|
||||||
set(LCMS_HASH 8de1b7724f578d2995c8fdfa35c3ad0e)
|
set(LCMS_HASH 8de1b7724f578d2995c8fdfa35c3ad0e)
|
||||||
|
|
||||||
set(PUGIXML_VERSION 1.10)
|
set(PUGIXML_VERSION 1.9)
|
||||||
set(PUGIXML_URI https://github.com/zeux/pugixml/archive/v${PUGIXML_VERSION}.tar.gz)
|
set(PUGIXML_URI https://github.com/zeux/pugixml/archive/v1.9.tar.gz)
|
||||||
set(PUGIXML_HASH 0c208b0664c7fb822bf1b49ad035e8fd)
|
set(PUGIXML_HASH 9346ca1dce2c48f1748c12fdac41a714)
|
||||||
|
|
||||||
set(FLEXBISON_VERSION 2.5.5)
|
set(FLEXBISON_VERSION 2.5.5)
|
||||||
set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison//win_flex_bison-2.5.5.zip)
|
set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison//win_flex_bison-2.5.5.zip)
|
||||||
@@ -265,37 +279,37 @@ set(FLEXBISON_HASH d87a3938194520d904013abef3df10ce)
|
|||||||
|
|
||||||
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
|
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
|
||||||
# sources from Debian packaging.
|
# sources from Debian packaging.
|
||||||
set(BZIP2_VERSION 1.0.8)
|
set(BZIP2_VERSION 1.0.6)
|
||||||
set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.bz2)
|
||||||
set(BZIP2_HASH ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269)
|
set(BZIP2_HASH d70a9ccd8bdf47e302d96c69fecd54925f45d9c7b966bb4ef5f56b770960afa7)
|
||||||
|
|
||||||
set(FFI_VERSION 3.3)
|
set(FFI_VERSION 3.2.1)
|
||||||
set(FFI_URI https://sourceware.org/pub/libffi/libffi-${FFI_VERSION}.tar.gz)
|
set(FFI_URI https://sourceware.org/pub/libffi/libffi-${FFI_VERSION}.tar.gz)
|
||||||
set(FFI_HASH 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056)
|
set(FFI_HASH d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37)
|
||||||
|
|
||||||
set(LZMA_VERSION 5.2.5)
|
set(LZMA_VERSION 5.2.4)
|
||||||
set(LZMA_URI https://tukaani.org/xz/xz-${LZMA_VERSION}.tar.bz2)
|
set(LZMA_URI https://tukaani.org/xz/xz-${LZMA_VERSION}.tar.bz2)
|
||||||
set(LZMA_HASH 5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df)
|
set(LZMA_HASH 3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf)
|
||||||
|
|
||||||
set(SSL_VERSION 1.1.1g)
|
set(SSL_VERSION 1.1.0i)
|
||||||
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
||||||
set(SSL_HASH ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46)
|
set(SSL_HASH ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99)
|
||||||
|
|
||||||
set(SQLITE_VERSION 3.31.1)
|
set(SQLITE_VERSION 3.24.0)
|
||||||
set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
|
set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
|
||||||
set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
|
set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
|
||||||
|
|
||||||
set(EMBREE_VERSION 3.10.0)
|
set(EMBREE_VERSION 3.8.0)
|
||||||
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
|
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
|
||||||
set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
|
set(EMBREE_HASH ac504d5426945fe25dec1267e0c39d52)
|
||||||
|
|
||||||
set(USD_VERSION 20.05)
|
set(USD_VERSION 19.11)
|
||||||
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
|
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
|
||||||
set(USD_HASH 6d679e739e7f65725d9c029e37dda9fc)
|
set(USD_HASH 79ff176167b3fe85f4953abd6cc5e0cc)
|
||||||
|
|
||||||
set(OIDN_VERSION 1.2.1)
|
set(OIDN_VERSION 1.0.0)
|
||||||
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.tar.gz)
|
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.zip)
|
||||||
set(OIDN_HASH cbebc1a25eb6de62af3a59e943063608)
|
set(OIDN_HASH 19fe67b0164e8f020ac8a4f520defe60)
|
||||||
|
|
||||||
set(LIBGLU_VERSION 9.0.1)
|
set(LIBGLU_VERSION 9.0.1)
|
||||||
set(LIBGLU_URI ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${LIBGLU_VERSION}.tar.xz)
|
set(LIBGLU_URI ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${LIBGLU_VERSION}.tar.xz)
|
||||||
@@ -305,13 +319,6 @@ set(MESA_VERSION 18.3.1)
|
|||||||
set(MESA_URI ftp://ftp.freedesktop.org/pub/mesa//mesa-${MESA_VERSION}.tar.xz)
|
set(MESA_URI ftp://ftp.freedesktop.org/pub/mesa//mesa-${MESA_VERSION}.tar.xz)
|
||||||
set(MESA_HASH d60828056d77bfdbae0970f9b15fb1be)
|
set(MESA_HASH d60828056d77bfdbae0970f9b15fb1be)
|
||||||
|
|
||||||
set(NASM_VERSION 2.15.02)
|
set(XR_OPENXR_SDK_VERSION 1.0.6)
|
||||||
set(NASM_URI https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VERSION}/nasm-${NASM_VERSION}.tar.xz)
|
|
||||||
set(NASM_HASH f4fd1329b1713e1ccd34b2fc121c4bcd278c9f91cc4cb205ae8fcd2e4728dd14)
|
|
||||||
|
|
||||||
set(XR_OPENXR_SDK_VERSION 1.0.8)
|
|
||||||
set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
||||||
set(XR_OPENXR_SDK_HASH c6de63d2e0f9029aa58dfa97cad8ce07)
|
set(XR_OPENXR_SDK_HASH 21daea7c3bfec365298d779a0e19caa1)
|
||||||
set(ISPC_VERSION v1.13.0)
|
|
||||||
set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
|
|
||||||
set(ISPC_HASH 4bf5e8d0020c4b9980faa702c1a6f25f)
|
|
||||||
|
@@ -24,11 +24,7 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
set(VPX_EXTRA_FLAGS --target=x86_64-darwin13-gcc)
|
||||||
set(VPX_EXTRA_FLAGS --target=generic-gnu)
|
|
||||||
else()
|
|
||||||
set(VPX_EXTRA_FLAGS --target=x86_64-darwin17-gcc)
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
set(VPX_EXTRA_FLAGS --target=generic-gnu)
|
set(VPX_EXTRA_FLAGS --target=generic-gnu)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -18,29 +18,19 @@
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST})
|
set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST})
|
||||||
endif()
|
set(X264_PATCH_CMD ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/x264/src/external_x264 < ${PATCH_DIR}/x264.diff)
|
||||||
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(X264_EXTRA_ARGS ${X264_EXTRA_ARGS} "--disable-asm")
|
|
||||||
set(X264_CONFIGURE_ENV echo .)
|
|
||||||
else()
|
|
||||||
set(X264_CONFIGURE_ENV
|
|
||||||
export AS=${LIBDIR}/nasm/bin/nasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
set(X264_CONFIGURE_ENV echo .)
|
set(X264_PATCH_CMD echo .)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
ExternalProject_Add(external_x264
|
ExternalProject_Add(external_x264
|
||||||
URL ${X264_URI}
|
URL ${X264_URI}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${X264_HASH}
|
URL_HASH SHA256=${X264_HASH}
|
||||||
PREFIX ${BUILD_DIR}/x264
|
PREFIX ${BUILD_DIR}/x264
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${X264_CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ &&
|
PATCH_COMMAND ${X264_PATCH_CMD}
|
||||||
${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
||||||
--enable-static
|
--enable-static
|
||||||
--enable-pic
|
--enable-pic
|
||||||
--disable-lavf
|
--disable-lavf
|
||||||
@@ -53,10 +43,3 @@ ExternalProject_Add(external_x264
|
|||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_x264 PROPERTIES FOLDER Mingw)
|
set_target_properties(external_x264 PROPERTIES FOLDER Mingw)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
add_dependencies(
|
|
||||||
external_x264
|
|
||||||
external_nasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
@@ -376,9 +376,8 @@ USE_CXX11=true
|
|||||||
|
|
||||||
CLANG_FORMAT_VERSION_MIN="6.0"
|
CLANG_FORMAT_VERSION_MIN="6.0"
|
||||||
|
|
||||||
PYTHON_VERSION="3.7.7"
|
PYTHON_VERSION="3.7.4"
|
||||||
PYTHON_VERSION_MIN="3.7"
|
PYTHON_VERSION_MIN="3.7"
|
||||||
PYTHON_VERSION_INSTALLED=$PYTHON_VERSION_MIN
|
|
||||||
PYTHON_FORCE_BUILD=false
|
PYTHON_FORCE_BUILD=false
|
||||||
PYTHON_FORCE_REBUILD=false
|
PYTHON_FORCE_REBUILD=false
|
||||||
PYTHON_SKIP=false
|
PYTHON_SKIP=false
|
||||||
@@ -437,7 +436,7 @@ OSL_FORCE_REBUILD=false
|
|||||||
OSL_SKIP=false
|
OSL_SKIP=false
|
||||||
|
|
||||||
# OpenSubdiv needs to be compiled for now
|
# OpenSubdiv needs to be compiled for now
|
||||||
OSD_VERSION="3.4.3"
|
OSD_VERSION="3.4.0_RC2"
|
||||||
OSD_VERSION_MIN=$OSD_VERSION
|
OSD_VERSION_MIN=$OSD_VERSION
|
||||||
OSD_FORCE_BUILD=false
|
OSD_FORCE_BUILD=false
|
||||||
OSD_FORCE_REBUILD=false
|
OSD_FORCE_REBUILD=false
|
||||||
@@ -459,7 +458,7 @@ ALEMBIC_FORCE_BUILD=false
|
|||||||
ALEMBIC_FORCE_REBUILD=false
|
ALEMBIC_FORCE_REBUILD=false
|
||||||
ALEMBIC_SKIP=false
|
ALEMBIC_SKIP=false
|
||||||
|
|
||||||
USD_VERSION="20.05"
|
USD_VERSION="19.11"
|
||||||
USD_FORCE_BUILD=false
|
USD_FORCE_BUILD=false
|
||||||
USD_FORCE_REBUILD=false
|
USD_FORCE_REBUILD=false
|
||||||
USD_SKIP=false
|
USD_SKIP=false
|
||||||
@@ -469,7 +468,7 @@ OPENCOLLADA_FORCE_BUILD=false
|
|||||||
OPENCOLLADA_FORCE_REBUILD=false
|
OPENCOLLADA_FORCE_REBUILD=false
|
||||||
OPENCOLLADA_SKIP=false
|
OPENCOLLADA_SKIP=false
|
||||||
|
|
||||||
EMBREE_VERSION="3.10.0"
|
EMBREE_VERSION="3.8.0"
|
||||||
EMBREE_FORCE_BUILD=false
|
EMBREE_FORCE_BUILD=false
|
||||||
EMBREE_FORCE_REBUILD=false
|
EMBREE_FORCE_REBUILD=false
|
||||||
EMBREE_SKIP=false
|
EMBREE_SKIP=false
|
||||||
@@ -479,14 +478,14 @@ OIDN_FORCE_BUILD=false
|
|||||||
OIDN_FORCE_REBUILD=false
|
OIDN_FORCE_REBUILD=false
|
||||||
OIDN_SKIP=false
|
OIDN_SKIP=false
|
||||||
|
|
||||||
FFMPEG_VERSION="4.2.3"
|
FFMPEG_VERSION="4.0.2"
|
||||||
FFMPEG_VERSION_MIN="2.8.4"
|
FFMPEG_VERSION_MIN="2.8.4"
|
||||||
FFMPEG_FORCE_BUILD=false
|
FFMPEG_FORCE_BUILD=false
|
||||||
FFMPEG_FORCE_REBUILD=false
|
FFMPEG_FORCE_REBUILD=false
|
||||||
FFMPEG_SKIP=false
|
FFMPEG_SKIP=false
|
||||||
_ffmpeg_list_sep=";"
|
_ffmpeg_list_sep=";"
|
||||||
|
|
||||||
XR_OPENXR_VERSION="1.0.8"
|
XR_OPENXR_VERSION="1.0.6"
|
||||||
XR_OPENXR_FORCE_BUILD=false
|
XR_OPENXR_FORCE_BUILD=false
|
||||||
XR_OPENXR_FORCE_REBUILD=false
|
XR_OPENXR_FORCE_REBUILD=false
|
||||||
XR_OPENXR_SKIP=false
|
XR_OPENXR_SKIP=false
|
||||||
@@ -1030,7 +1029,7 @@ Those libraries should be available as packages in all recent distributions (opt
|
|||||||
* libjpeg, libpng, libtiff, [openjpeg2], [libopenal].
|
* libjpeg, libpng, libtiff, [openjpeg2], [libopenal].
|
||||||
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
|
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
|
||||||
* libsqlite3, libbz2, libssl, libfftw3, libxml2, libtinyxml, yasm, libyaml-cpp.
|
* libsqlite3, libbz2, libssl, libfftw3, libxml2, libtinyxml, yasm, libyaml-cpp.
|
||||||
* libsdl2, libglew, [libglewmx].\""
|
* libsdl1.2, libglew, [libglewmx].\""
|
||||||
|
|
||||||
DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES:
|
DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES:
|
||||||
|
|
||||||
@@ -1536,13 +1535,11 @@ _update_deps_tbb() {
|
|||||||
OSD_FORCE_REBUILD=true
|
OSD_FORCE_REBUILD=true
|
||||||
OPENVDB_FORCE_REBUILD=true
|
OPENVDB_FORCE_REBUILD=true
|
||||||
USD_FORCE_REBUILD=true
|
USD_FORCE_REBUILD=true
|
||||||
EMBREE_FORCE_REBUILD=true
|
|
||||||
OIDN_FORCE_REBUILD=true
|
OIDN_FORCE_REBUILD=true
|
||||||
if [ "$_is_building" = true ]; then
|
if [ "$_is_building" = true ]; then
|
||||||
OSD_FORCE_BUILD=true
|
OSD_FORCE_BUILD=true
|
||||||
OPENVDB_FORCE_BUILD=true
|
OPENVDB_FORCE_BUILD=true
|
||||||
USD_FORCE_BUILD=true
|
USD_FORCE_BUILD=true
|
||||||
EMBREE_FORCE_BUILD=true
|
|
||||||
OIDN_FORCE_BUILD=true
|
OIDN_FORCE_BUILD=true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -1574,7 +1571,7 @@ compile_TBB() {
|
|||||||
if [ ! -d $_inst ]; then
|
if [ ! -d $_inst ]; then
|
||||||
INFO "Building TBB-$TBB_VERSION$TBB_VERSION_UPDATE"
|
INFO "Building TBB-$TBB_VERSION$TBB_VERSION_UPDATE"
|
||||||
_is_building=true
|
_is_building=true
|
||||||
|
|
||||||
# Rebuild dependencies as well!
|
# Rebuild dependencies as well!
|
||||||
_update_deps_tbb
|
_update_deps_tbb
|
||||||
|
|
||||||
@@ -1691,7 +1688,7 @@ compile_OCIO() {
|
|||||||
if [ ! -d $_inst ]; then
|
if [ ! -d $_inst ]; then
|
||||||
INFO "Building OpenColorIO-$OCIO_VERSION"
|
INFO "Building OpenColorIO-$OCIO_VERSION"
|
||||||
_is_building=true
|
_is_building=true
|
||||||
|
|
||||||
# Rebuild dependencies as well!
|
# Rebuild dependencies as well!
|
||||||
_update_deps_ocio
|
_update_deps_ocio
|
||||||
|
|
||||||
@@ -2988,7 +2985,7 @@ compile_Embree() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# To be changed each time we make edits that would modify the compiled results!
|
# To be changed each time we make edits that would modify the compiled results!
|
||||||
embree_magic=10
|
embree_magic=9
|
||||||
_init_embree
|
_init_embree
|
||||||
|
|
||||||
# Clean install if needed!
|
# Clean install if needed!
|
||||||
@@ -3042,13 +3039,9 @@ compile_Embree() {
|
|||||||
cmake_d="$cmake_d -D EMBREE_RAY_MASK=ON"
|
cmake_d="$cmake_d -D EMBREE_RAY_MASK=ON"
|
||||||
cmake_d="$cmake_d -D EMBREE_FILTER_FUNCTION=ON"
|
cmake_d="$cmake_d -D EMBREE_FILTER_FUNCTION=ON"
|
||||||
cmake_d="$cmake_d -D EMBREE_BACKFACE_CULLING=OFF"
|
cmake_d="$cmake_d -D EMBREE_BACKFACE_CULLING=OFF"
|
||||||
|
cmake_d="$cmake_d -D EMBREE_TASKING_SYSTEM=INTERNAL"
|
||||||
cmake_d="$cmake_d -D EMBREE_MAX_ISA=AVX2"
|
cmake_d="$cmake_d -D EMBREE_MAX_ISA=AVX2"
|
||||||
|
|
||||||
cmake_d="$cmake_d -D EMBREE_TASKING_SYSTEM=TBB"
|
|
||||||
if [ -d $INST/tbb ]; then
|
|
||||||
make_d="$make_d EMBREE_TBB_ROOT=$INST/tbb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cmake $cmake_d ../
|
cmake $cmake_d ../
|
||||||
|
|
||||||
make -j$THREADS && make install
|
make -j$THREADS && make install
|
||||||
@@ -3524,7 +3517,7 @@ install_DEB() {
|
|||||||
libxcursor-dev libxi-dev wget libsqlite3-dev libxrandr-dev libxinerama-dev \
|
libxcursor-dev libxi-dev wget libsqlite3-dev libxrandr-dev libxinerama-dev \
|
||||||
libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev \
|
libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev \
|
||||||
libopenal-dev libglew-dev yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV \
|
libopenal-dev libglew-dev yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV \
|
||||||
libsdl2-dev libfftw3-dev patch bzip2 libxml2-dev libtinyxml-dev libjemalloc-dev"
|
libsdl1.2-dev libfftw3-dev patch bzip2 libxml2-dev libtinyxml-dev libjemalloc-dev"
|
||||||
# libglewmx-dev (broken in deb testing currently...)
|
# libglewmx-dev (broken in deb testing currently...)
|
||||||
|
|
||||||
VORBIS_USE=true
|
VORBIS_USE=true
|
||||||
@@ -3675,11 +3668,9 @@ install_DEB() {
|
|||||||
INFO "Forced Python/NumPy building, as requested..."
|
INFO "Forced Python/NumPy building, as requested..."
|
||||||
_do_compile_python=true
|
_do_compile_python=true
|
||||||
else
|
else
|
||||||
check_package_version_ge_DEB python3-dev $PYTHON_VERSION_MIN
|
check_package_DEB python$PYTHON_VERSION_MIN-dev
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
PYTHON_VERSION_INSTALLED=$(echo `get_package_version_DEB python3-dev` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/')
|
install_packages_DEB python$PYTHON_VERSION_MIN-dev
|
||||||
|
|
||||||
install_packages_DEB python3-dev
|
|
||||||
clean_Python
|
clean_Python
|
||||||
PRINT ""
|
PRINT ""
|
||||||
if [ "$NUMPY_SKIP" = true ]; then
|
if [ "$NUMPY_SKIP" = true ]; then
|
||||||
@@ -3892,6 +3883,7 @@ install_DEB() {
|
|||||||
INFO "Forced Alembic building, as requested..."
|
INFO "Forced Alembic building, as requested..."
|
||||||
compile_ALEMBIC
|
compile_ALEMBIC
|
||||||
else
|
else
|
||||||
|
# No package currently, only HDF5!
|
||||||
compile_ALEMBIC
|
compile_ALEMBIC
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -4171,7 +4163,7 @@ install_RPM() {
|
|||||||
THEORA_DEV="libtheora-devel"
|
THEORA_DEV="libtheora-devel"
|
||||||
|
|
||||||
_packages="gcc gcc-c++ git make cmake tar bzip2 xz findutils flex bison \
|
_packages="gcc gcc-c++ git make cmake tar bzip2 xz findutils flex bison \
|
||||||
libtiff-devel libjpeg-devel libpng-devel sqlite-devel fftw-devel SDL2-devel \
|
libtiff-devel libjpeg-devel libpng-devel sqlite-devel fftw-devel SDL-devel \
|
||||||
libX11-devel libXi-devel libXcursor-devel libXrandr-devel libXinerama-devel \
|
libX11-devel libXi-devel libXcursor-devel libXrandr-devel libXinerama-devel \
|
||||||
wget ncurses-devel readline-devel $OPENJPEG_DEV openal-soft-devel \
|
wget ncurses-devel readline-devel $OPENJPEG_DEV openal-soft-devel \
|
||||||
glew-devel yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV patch \
|
glew-devel yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV patch \
|
||||||
@@ -4298,10 +4290,8 @@ install_RPM() {
|
|||||||
INFO "Forced Python/NumPy building, as requested..."
|
INFO "Forced Python/NumPy building, as requested..."
|
||||||
_do_compile_python=true
|
_do_compile_python=true
|
||||||
else
|
else
|
||||||
check_package_version_ge_RPM python3-devel $PYTHON_VERSION_MIN
|
check_package_version_match_RPM python3-devel $PYTHON_VERSION_MIN
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
PYTHON_VERSION_INSTALLED=$(echo `get_package_version_RPM python3-devel` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/')
|
|
||||||
|
|
||||||
install_packages_RPM python3-devel
|
install_packages_RPM python3-devel
|
||||||
clean_Python
|
clean_Python
|
||||||
PRINT ""
|
PRINT ""
|
||||||
@@ -4734,7 +4724,7 @@ install_ARCH() {
|
|||||||
|
|
||||||
_packages="$BASE_DEVEL git cmake \
|
_packages="$BASE_DEVEL git cmake \
|
||||||
libxi libxcursor libxrandr libxinerama glew libpng libtiff wget openal \
|
libxi libxcursor libxrandr libxinerama glew libpng libtiff wget openal \
|
||||||
$OPENJPEG_DEV $VORBIS_DEV $OGG_DEV $THEORA_DEV yasm sdl2 fftw \
|
$OPENJPEG_DEV $VORBIS_DEV $OGG_DEV $THEORA_DEV yasm sdl fftw \
|
||||||
libxml2 yaml-cpp tinyxml python-requests jemalloc"
|
libxml2 yaml-cpp tinyxml python-requests jemalloc"
|
||||||
|
|
||||||
OPENJPEG_USE=true
|
OPENJPEG_USE=true
|
||||||
@@ -4825,8 +4815,6 @@ install_ARCH() {
|
|||||||
else
|
else
|
||||||
check_package_version_ge_ARCH python $PYTHON_VERSION_MIN
|
check_package_version_ge_ARCH python $PYTHON_VERSION_MIN
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
PYTHON_VERSION_INSTALLED=$(echo `get_package_version_ARCH python` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/')
|
|
||||||
|
|
||||||
install_packages_ARCH python
|
install_packages_ARCH python
|
||||||
clean_Python
|
clean_Python
|
||||||
PRINT ""
|
PRINT ""
|
||||||
@@ -5417,11 +5405,11 @@ print_info() {
|
|||||||
PRINT " $_1"
|
PRINT " $_1"
|
||||||
_buildargs="$_buildargs $_1"
|
_buildargs="$_buildargs $_1"
|
||||||
|
|
||||||
_1="-D PYTHON_VERSION=$PYTHON_VERSION_INSTALLED"
|
_1="-D PYTHON_VERSION=$PYTHON_VERSION_MIN"
|
||||||
PRINT " $_1"
|
PRINT " $_1"
|
||||||
_buildargs="$_buildargs $_1"
|
_buildargs="$_buildargs $_1"
|
||||||
if [ -d "$INST/python-$PYTHON_VERSION_INSTALLED" ]; then
|
if [ -d "$INST/python-$PYTHON_VERSION_MIN" ]; then
|
||||||
_1="-D PYTHON_ROOT_DIR=$INST/python-$PYTHON_VERSION_INSTALLED"
|
_1="-D PYTHON_ROOT_DIR=$INST/python-$PYTHON_VERSION_MIN"
|
||||||
PRINT " $_1"
|
PRINT " $_1"
|
||||||
_buildargs="$_buildargs $_1"
|
_buildargs="$_buildargs $_1"
|
||||||
fi
|
fi
|
||||||
|
@@ -91,41 +91,3 @@ diff -Naur external_blosc.orig/blosc/blosc.c external_blosc/blosc/blosc.c
|
|||||||
|
|
||||||
|
|
||||||
/* Some useful units */
|
/* Some useful units */
|
||||||
diff --git a/blosc/shuffle.c b/blosc/shuffle.c
|
|
||||||
index 84b5095..23053b4 100644
|
|
||||||
--- a/blosc/shuffle.c
|
|
||||||
+++ b/blosc/shuffle.c
|
|
||||||
@@ -490,12 +490,12 @@ void unshuffle(size_t bytesoftype, size_t blocksize,
|
|
||||||
#else /* no __SSE2__ available */
|
|
||||||
|
|
||||||
void shuffle(size_t bytesoftype, size_t blocksize,
|
|
||||||
- uint8_t* _src, uint8_t* _dest) {
|
|
||||||
+ const uint8_t* _src, uint8_t* _dest) {
|
|
||||||
_shuffle(bytesoftype, blocksize, _src, _dest);
|
|
||||||
}
|
|
||||||
|
|
||||||
void unshuffle(size_t bytesoftype, size_t blocksize,
|
|
||||||
- uint8_t* _src, uint8_t* _dest) {
|
|
||||||
+ const uint8_t* _src, uint8_t* _dest) {
|
|
||||||
_unshuffle(bytesoftype, blocksize, _src, _dest);
|
|
||||||
}
|
|
||||||
--- a/cmake/FindSSE.cmake
|
|
||||||
+++ b/cmake/FindSSE.cmake
|
|
||||||
@@ -49,6 +49,17 @@
|
|
||||||
set(AVX_FOUND false CACHE BOOL "AVX available on host")
|
|
||||||
ENDIF (AVX_TRUE)
|
|
||||||
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
||||||
+ execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
+ message(STATUS "Detected architecture ${ARCHITECTURE}")
|
|
||||||
+ IF("${ARCHITECTURE}" STREQUAL "arm64")
|
|
||||||
+ set(SSE2_FOUND false CACHE BOOL "SSE2 available on host")
|
|
||||||
+ set(SSE3_FOUND false CACHE BOOL "SSE3 available on host")
|
|
||||||
+ set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host")
|
|
||||||
+ set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host")
|
|
||||||
+ set(AVX_FOUND false CACHE BOOL "AVX available on host")
|
|
||||||
+ return()
|
|
||||||
+ ENDIF()
|
|
||||||
+
|
|
||||||
EXEC_PROGRAM("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE
|
|
||||||
CPUINFO)
|
|
||||||
|
|
20
build_files/build_environment/patches/cmakelists_hidapi.txt
Normal file
20
build_files/build_environment/patches/cmakelists_hidapi.txt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
project(hidapi)
|
||||||
|
|
||||||
|
set(SRC_FILES
|
||||||
|
windows/hid.c
|
||||||
|
)
|
||||||
|
|
||||||
|
set(HEADER_FILES
|
||||||
|
hidapi/hidapi.h
|
||||||
|
)
|
||||||
|
include_directories(hidapi)
|
||||||
|
add_definitions(-DHID_API_STATIC)
|
||||||
|
add_library(hidapi STATIC ${SRC_FILES} ${HEADER_FILES})
|
||||||
|
|
||||||
|
install(TARGETS hidapi DESTINATION lib)
|
||||||
|
|
||||||
|
INSTALL(FILES hidapi/hidapi.h
|
||||||
|
DESTINATION "include"
|
||||||
|
)
|
||||||
|
|
@@ -1,14 +0,0 @@
|
|||||||
diff -Naur orig/common/sys/platform.h external_embree/common/sys/platform.h
|
|
||||||
--- orig/common/sys/platform.h 2020-05-13 23:08:53 -0600
|
|
||||||
+++ external_embree/common/sys/platform.h 2020-06-13 17:40:26 -0600
|
|
||||||
@@ -84,8 +84,8 @@
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifdef __WIN32__
|
|
||||||
-#define dll_export __declspec(dllexport)
|
|
||||||
-#define dll_import __declspec(dllimport)
|
|
||||||
+#define dll_export
|
|
||||||
+#define dll_import
|
|
||||||
#else
|
|
||||||
#define dll_export __attribute__ ((visibility ("default")))
|
|
||||||
#define dll_import
|
|
@@ -9,62 +9,3 @@
|
|||||||
enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++"
|
enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++"
|
||||||
enabled libopus && {
|
enabled libopus && {
|
||||||
enabled libopus_decoder && {
|
enabled libopus_decoder && {
|
||||||
--- a/libavcodec/cfhddata.c
|
|
||||||
+++ b/libavcodec/cfhddata.c
|
|
||||||
@@ -276,10 +276,10 @@
|
|
||||||
av_cold int ff_cfhd_init_vlcs(CFHDContext *s)
|
|
||||||
{
|
|
||||||
int i, j, ret = 0;
|
|
||||||
- uint32_t new_cfhd_vlc_bits[NB_VLC_TABLE_18 * 2];
|
|
||||||
- uint8_t new_cfhd_vlc_len[NB_VLC_TABLE_18 * 2];
|
|
||||||
- uint16_t new_cfhd_vlc_run[NB_VLC_TABLE_18 * 2];
|
|
||||||
- int16_t new_cfhd_vlc_level[NB_VLC_TABLE_18 * 2];
|
|
||||||
+ uint32_t *new_cfhd_vlc_bits = av_calloc(sizeof(uint32_t), NB_VLC_TABLE_18 * 2);
|
|
||||||
+ uint8_t *new_cfhd_vlc_len = av_calloc(sizeof(uint8_t), NB_VLC_TABLE_18 * 2);
|
|
||||||
+ uint16_t *new_cfhd_vlc_run = av_calloc(sizeof(uint16_t), NB_VLC_TABLE_18 * 2);
|
|
||||||
+ int16_t *new_cfhd_vlc_level = av_calloc(sizeof(int16_t), NB_VLC_TABLE_18 * 2);
|
|
||||||
|
|
||||||
/** Similar to dv.c, generate signed VLC tables **/
|
|
||||||
|
|
||||||
@@ -305,8 +305,13 @@
|
|
||||||
|
|
||||||
ret = init_vlc(&s->vlc_9, VLC_BITS, j, new_cfhd_vlc_len,
|
|
||||||
1, 1, new_cfhd_vlc_bits, 4, 4, 0);
|
|
||||||
- if (ret < 0)
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ av_free(new_cfhd_vlc_bits);
|
|
||||||
+ av_free(new_cfhd_vlc_len);
|
|
||||||
+ av_free(new_cfhd_vlc_run);
|
|
||||||
+ av_free(new_cfhd_vlc_level);
|
|
||||||
return ret;
|
|
||||||
+ }
|
|
||||||
for (i = 0; i < s->vlc_9.table_size; i++) {
|
|
||||||
int code = s->vlc_9.table[i][0];
|
|
||||||
int len = s->vlc_9.table[i][1];
|
|
||||||
@@ -346,8 +351,14 @@
|
|
||||||
|
|
||||||
ret = init_vlc(&s->vlc_18, VLC_BITS, j, new_cfhd_vlc_len,
|
|
||||||
1, 1, new_cfhd_vlc_bits, 4, 4, 0);
|
|
||||||
- if (ret < 0)
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ av_free(new_cfhd_vlc_bits);
|
|
||||||
+ av_free(new_cfhd_vlc_len);
|
|
||||||
+ av_free(new_cfhd_vlc_run);
|
|
||||||
+ av_free(new_cfhd_vlc_level);
|
|
||||||
return ret;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
av_assert0(s->vlc_18.table_size == 4572);
|
|
||||||
|
|
||||||
for (i = 0; i < s->vlc_18.table_size; i++) {
|
|
||||||
@@ -367,5 +378,10 @@
|
|
||||||
s->table_18_rl_vlc[i].run = run;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ av_free(new_cfhd_vlc_bits);
|
|
||||||
+ av_free(new_cfhd_vlc_len);
|
|
||||||
+ av_free(new_cfhd_vlc_run);
|
|
||||||
+ av_free(new_cfhd_vlc_level);
|
|
||||||
+
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
15
build_files/build_environment/patches/hidapi.diff
Normal file
15
build_files/build_environment/patches/hidapi.diff
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
--- hidapi/hidapi.h 2011-10-25 20:58:16 -0600
|
||||||
|
+++ hidapi/hidapi.h 2016-11-01 12:05:58 -0600
|
||||||
|
@@ -30,7 +30,11 @@
|
||||||
|
#include <wchar.h>
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
- #define HID_API_EXPORT __declspec(dllexport)
|
||||||
|
+ #ifdef HID_API_STATIC
|
||||||
|
+ #define HID_API_EXPORT
|
||||||
|
+ #else
|
||||||
|
+ #define HID_API_EXPORT __declspec(dllexport)
|
||||||
|
+ #endif
|
||||||
|
#define HID_API_CALL
|
||||||
|
#else
|
||||||
|
#define HID_API_EXPORT /**< API export macro */
|
@@ -1,85 +0,0 @@
|
|||||||
diff -Naur external_ispc/CMakeLists.txt external_ispc_fixed/CMakeLists.txt
|
|
||||||
--- external_ispc/CMakeLists.txt 2020-04-23 17:29:06 -0600
|
|
||||||
+++ external_ispc_fixed/CMakeLists.txt 2020-05-05 09:01:09 -0600
|
|
||||||
@@ -389,7 +389,7 @@
|
|
||||||
|
|
||||||
# Link against Clang libraries
|
|
||||||
foreach(clangLib ${CLANG_LIBRARY_LIST})
|
|
||||||
- find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS})
|
|
||||||
+ find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIR})
|
|
||||||
list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
|
|
||||||
endforeach()
|
|
||||||
target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_FULL_PATH_LIST})
|
|
||||||
diff -Naur orig/CMakeLists.txt external_ispc/CMakeLists.txt
|
|
||||||
--- orig/CMakeLists.txt 2020-05-05 09:19:11 -0600
|
|
||||||
+++ external_ispc/CMakeLists.txt 2020-05-05 09:26:44 -0600
|
|
||||||
@@ -333,7 +333,7 @@
|
|
||||||
|
|
||||||
# Include directories
|
|
||||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
|
||||||
- ${LLVM_INCLUDE_DIRS}
|
|
||||||
+ ${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
|
|
||||||
# Compile options
|
|
||||||
diff -Naur orig/cmake/GenerateBuiltins.cmake.txt external_ispc/cmake/GenerateBuiltins.cmake.txt
|
|
||||||
+++ orig/cmake/GenerateBuiltins.cmake 2020-05-25 13:32:40.830803821 +0200
|
|
||||||
+++ external_ispc/cmake/GenerateBuiltins.cmake 2020-05-25 13:32:40.830803821 +0200
|
|
||||||
@@ -97,6 +97,8 @@
|
|
||||||
|
|
||||||
if ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "x86")
|
|
||||||
set(target_arch "i386")
|
|
||||||
+ # Blender: disable 32bit due to build issues on Linux and being unnecessary.
|
|
||||||
+ set(SKIP ON)
|
|
||||||
elseif ("${bit}" STREQUAL "64" AND ${arch} STREQUAL "x86")
|
|
||||||
set(target_arch "x86_64")
|
|
||||||
elseif ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "arm")
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 46a8db8..f53beef 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -36,8 +36,12 @@
|
|
||||||
cmake_minimum_required(VERSION 3.13)
|
|
||||||
|
|
||||||
if (UNIX)
|
|
||||||
- set(CMAKE_C_COMPILER "clang")
|
|
||||||
- set(CMAKE_CXX_COMPILER "clang++")
|
|
||||||
+ if (NOT CMAKE_C_COMPILER)
|
|
||||||
+ set(CMAKE_C_COMPILER "clang")
|
|
||||||
+ endif()
|
|
||||||
+ if (NOT CMAKE_CXX_COMPILER)
|
|
||||||
+ set(CMAKE_CXX_COMPILER "clang++")
|
|
||||||
+ endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(PROJECT_NAME ispc)
|
|
||||||
@@ -412,6 +416,29 @@ else()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
+# Link against libstdc++.a which must be provided to the linker after
|
|
||||||
+# LLVM and CLang libraries.
|
|
||||||
+# This is needed because some of LLVM/CLang dependencies are using
|
|
||||||
+# std::make_shared, which is defined in one of those:
|
|
||||||
+# - libclang-cpp.so
|
|
||||||
+# - libstdc++.a
|
|
||||||
+# Using the former one is tricky because then generated binary depends
|
|
||||||
+# on a library which is outside of the LD_LIBRARY_PATH.
|
|
||||||
+#
|
|
||||||
+# Hence, using C++ implementation from G++ which seems to work just fine.
|
|
||||||
+# In fact, from investigation seems that libclang-cpp.so itself is pulling
|
|
||||||
+# std::_Sp_make_shared_tag from G++'s libstdc++.a.
|
|
||||||
+if(UNIX AND NOT APPLE)
|
|
||||||
+ execute_process(
|
|
||||||
+ COMMAND g++ --print-file-name libstdc++.a
|
|
||||||
+ OUTPUT_VARIABLE GCC_LIBSTDCXX_A
|
|
||||||
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
||||||
+ )
|
|
||||||
+ if(GCC_LIBSTDCXX_A AND EXISTS ${GCC_LIBSTDCXX_A})
|
|
||||||
+ target_link_libraries(${PROJECT_NAME} ${GCC_LIBSTDCXX_A})
|
|
||||||
+ endif()
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
# Build target for utility checking host ISA
|
|
||||||
if (ISPC_INCLUDE_UTILS)
|
|
||||||
add_executable(check_isa "")
|
|
@@ -1,129 +0,0 @@
|
|||||||
diff --git a/output/macho.h b/output/macho.h
|
|
||||||
index 538c531e..fd5e8849 100644
|
|
||||||
--- a/output/macho.h
|
|
||||||
+++ b/output/macho.h
|
|
||||||
@@ -60,6 +60,8 @@
|
|
||||||
#define LC_SEGMENT 0x1
|
|
||||||
#define LC_SEGMENT_64 0x19
|
|
||||||
#define LC_SYMTAB 0x2
|
|
||||||
+#define LC_VERSION_MIN_MACOSX 0x24
|
|
||||||
+#define LC_BUILD_VERSION 0x32
|
|
||||||
|
|
||||||
/* Symbol type bits */
|
|
||||||
#define N_STAB 0xe0
|
|
||||||
diff --git a/output/outmacho.c b/output/outmacho.c
|
|
||||||
index 08147883..de6ec902 100644
|
|
||||||
--- a/output/outmacho.c
|
|
||||||
+++ b/output/outmacho.c
|
|
||||||
@@ -38,6 +38,8 @@
|
|
||||||
|
|
||||||
#include "compiler.h"
|
|
||||||
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+
|
|
||||||
#include "nctype.h"
|
|
||||||
|
|
||||||
#include "nasm.h"
|
|
||||||
@@ -64,6 +66,8 @@
|
|
||||||
#define MACHO_SYMCMD_SIZE 24
|
|
||||||
#define MACHO_NLIST_SIZE 12
|
|
||||||
#define MACHO_RELINFO_SIZE 8
|
|
||||||
+#define MACHO_BUILD_VERSION_SIZE 24
|
|
||||||
+#define MACHO_VERSION_MIN_MACOSX_SIZE 16
|
|
||||||
|
|
||||||
#define MACHO_HEADER64_SIZE 32
|
|
||||||
#define MACHO_SEGCMD64_SIZE 72
|
|
||||||
@@ -1224,6 +1228,46 @@ static void macho_layout_symbols (uint32_t *numsyms,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+static bool get_full_version_from_env (const char *variable_name,
|
|
||||||
+ int *r_major,
|
|
||||||
+ int *r_minor,
|
|
||||||
+ int *r_patch) {
|
|
||||||
+ *r_major = 0;
|
|
||||||
+ *r_minor = 0;
|
|
||||||
+ *r_patch = 0;
|
|
||||||
+
|
|
||||||
+ const char *value = getenv(variable_name);
|
|
||||||
+ if (value == NULL || value[0] == '\0') {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ const char *current_value = value;
|
|
||||||
+ const char *end_value = value + strlen(value);
|
|
||||||
+
|
|
||||||
+ char *endptr;
|
|
||||||
+
|
|
||||||
+ *r_major = strtol(current_value, &endptr, 10);
|
|
||||||
+ if (endptr >= end_value) {
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ current_value = endptr + 1;
|
|
||||||
+
|
|
||||||
+ *r_minor = strtol(current_value, &endptr, 10);
|
|
||||||
+ if (endptr >= end_value) {
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ current_value = endptr + 1;
|
|
||||||
+
|
|
||||||
+ *r_patch = strtol(current_value, &endptr, 10);
|
|
||||||
+
|
|
||||||
+ return true;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static bool need_version_min_macosx_command (void) {
|
|
||||||
+ return getenv("MACOSX_DEPLOYMENT_TARGET") &&
|
|
||||||
+ getenv("MACOSX_SDK_VERSION");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Calculate some values we'll need for writing later. */
|
|
||||||
|
|
||||||
static void macho_calculate_sizes (void)
|
|
||||||
@@ -1270,6 +1314,12 @@ static void macho_calculate_sizes (void)
|
|
||||||
head_sizeofcmds += fmt.segcmd_size + seg_nsects * fmt.sectcmd_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* LC_VERSION_MIN_MACOSX */
|
|
||||||
+ if (need_version_min_macosx_command()) {
|
|
||||||
+ ++head_ncmds;
|
|
||||||
+ head_sizeofcmds += MACHO_VERSION_MIN_MACOSX_SIZE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (nsyms > 0) {
|
|
||||||
++head_ncmds;
|
|
||||||
head_sizeofcmds += MACHO_SYMCMD_SIZE;
|
|
||||||
@@ -1653,6 +1703,33 @@ static void macho_write (void)
|
|
||||||
else
|
|
||||||
nasm_warn(WARN_OTHER, "no sections?");
|
|
||||||
|
|
||||||
+#define ENCODE_BUILD_VERSION(major, minor, patch) \
|
|
||||||
+ (((major) << 16) | ((minor) << 8) | (patch))
|
|
||||||
+
|
|
||||||
+ if (0) {
|
|
||||||
+ fwriteint32_t(LC_BUILD_VERSION, ofile); /* cmd == LC_BUILD_VERSION */
|
|
||||||
+ fwriteint32_t(MACHO_BUILD_VERSION_SIZE, ofile); /* size of load command */
|
|
||||||
+ fwriteint32_t(1, ofile); /* platform */
|
|
||||||
+ fwriteint32_t(ENCODE_BUILD_VERSION(10, 13, 0), ofile); /* minos, X.Y.Z is encoded in nibbles xxxx.yy.zz */
|
|
||||||
+ fwriteint32_t(ENCODE_BUILD_VERSION(10, 15, 4), ofile); /* sdk, X.Y.Z is encoded in nibbles xxxx.yy.zz */
|
|
||||||
+ fwriteint32_t(0, ofile); /* number of tool entries following this */
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (need_version_min_macosx_command()) {
|
|
||||||
+ int sdk_major, sdk_minor, sdk_patch;
|
|
||||||
+ get_full_version_from_env("MACOSX_SDK_VERSION", &sdk_major, &sdk_minor, &sdk_patch);
|
|
||||||
+
|
|
||||||
+ int version_major, version_minor, version_patch;
|
|
||||||
+ get_full_version_from_env("MACOSX_DEPLOYMENT_TARGET", &version_major, &version_minor, &version_patch);
|
|
||||||
+
|
|
||||||
+ fwriteint32_t(LC_VERSION_MIN_MACOSX, ofile); /* cmd == LC_VERSION_MIN_MACOSX */
|
|
||||||
+ fwriteint32_t(MACHO_VERSION_MIN_MACOSX_SIZE, ofile); /* size of load command */
|
|
||||||
+ fwriteint32_t(ENCODE_BUILD_VERSION(version_major, version_minor, version_patch), ofile); /* minos, X.Y.Z is encoded in nibbles xxxx.yy.zz */
|
|
||||||
+ fwriteint32_t(ENCODE_BUILD_VERSION(sdk_major, sdk_minor, sdk_patch), ofile); /* sdk, X.Y.Z is encoded in nibbles xxxx.yy.zz */
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+#undef ENCODE_BUILD_VERSION
|
|
||||||
+
|
|
||||||
if (nsyms > 0) {
|
|
||||||
/* write out symbol command */
|
|
||||||
fwriteint32_t(LC_SYMTAB, ofile); /* cmd == LC_SYMTAB */
|
|
@@ -1,27 +0,0 @@
|
|||||||
diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
|
|
||||||
index ba2b1f4..b10f7df 100644
|
|
||||||
--- a/numpy/distutils/system_info.py
|
|
||||||
+++ b/numpy/distutils/system_info.py
|
|
||||||
@@ -2164,8 +2164,8 @@ class accelerate_info(system_info):
|
|
||||||
'accelerate' in libraries):
|
|
||||||
if intel:
|
|
||||||
args.extend(['-msse3'])
|
|
||||||
- else:
|
|
||||||
- args.extend(['-faltivec'])
|
|
||||||
+# else:
|
|
||||||
+# args.extend(['-faltivec'])
|
|
||||||
args.extend([
|
|
||||||
'-I/System/Library/Frameworks/vecLib.framework/Headers'])
|
|
||||||
link_args.extend(['-Wl,-framework', '-Wl,Accelerate'])
|
|
||||||
@@ -2174,8 +2174,8 @@ class accelerate_info(system_info):
|
|
||||||
'veclib' in libraries):
|
|
||||||
if intel:
|
|
||||||
args.extend(['-msse3'])
|
|
||||||
- else:
|
|
||||||
- args.extend(['-faltivec'])
|
|
||||||
+# else:
|
|
||||||
+# args.extend(['-faltivec'])
|
|
||||||
args.extend([
|
|
||||||
'-I/System/Library/Frameworks/vecLib.framework/Headers'])
|
|
||||||
link_args.extend(['-Wl,-framework', '-Wl,vecLib'])
|
|
||||||
|
|
@@ -1,12 +0,0 @@
|
|||||||
diff --git a/include/ogg/os_types.h b/include/ogg/os_types.h
|
|
||||||
index eb8a322..6f73b72 100644
|
|
||||||
--- a/include/ogg/os_types.h
|
|
||||||
+++ b/include/ogg/os_types.h
|
|
||||||
@@ -71,6 +71,7 @@
|
|
||||||
#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
+# include <stdint.h>
|
|
||||||
typedef int16_t ogg_int16_t;
|
|
||||||
typedef uint16_t ogg_uint16_t;
|
|
||||||
typedef int32_t ogg_int32_t;
|
|
13
build_files/build_environment/patches/openal.diff
Normal file
13
build_files/build_environment/patches/openal.diff
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff -Naur external_openal_original/CMakeLists.txt external_openal/CMakeLists.txt
|
||||||
|
--- external_openal_original/CMakeLists.txt 2016-01-24 20:12:39 -0700
|
||||||
|
+++ external_openal/CMakeLists.txt 2018-06-02 12:16:52 -0600
|
||||||
|
@@ -885,7 +885,8 @@
|
||||||
|
OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
|
||||||
|
IF(HAVE_WINDOWS_H)
|
||||||
|
# Check MMSystem backend
|
||||||
|
- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
|
||||||
|
+ set(CMAKE_REQUIRED_FLAGS "-D_WIN32_WINNT=0x0502")
|
||||||
|
+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
|
||||||
|
IF(HAVE_MMSYSTEM_H)
|
||||||
|
CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
|
||||||
|
IF(HAVE_LIBWINMM)
|
@@ -86,47 +86,3 @@ index 1f9a3ee..d151e9a 100644
|
|||||||
return isnan( value );
|
return isnan( value );
|
||||||
#else
|
#else
|
||||||
return std::isnan(value);
|
return std::isnan(value);
|
||||||
|
|
||||||
|
|
||||||
diff --git a/DAEValidator/library/src/Dae.cpp b/DAEValidator/library/src/Dae.cpp
|
|
||||||
index 9256ee1..241ad67 100644
|
|
||||||
--- a/DAEValidator/library/src/Dae.cpp
|
|
||||||
+++ b/DAEValidator/library/src/Dae.cpp
|
|
||||||
@@ -304,7 +304,7 @@ namespace opencollada
|
|
||||||
if (auto root_node = root())
|
|
||||||
{
|
|
||||||
const auto & nodes = root_node.selectNodes("//*[@id]");
|
|
||||||
- for (const auto & node : nodes)
|
|
||||||
+ for (const auto node : nodes)
|
|
||||||
{
|
|
||||||
string id = node.attribute("id").value();
|
|
||||||
mIdCache.insert(id);
|
|
||||||
@@ -312,4 +312,4 @@ namespace opencollada
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-}
|
|
||||||
\ No newline at end of file
|
|
||||||
+}
|
|
||||||
diff --git a/DAEValidator/library/src/DaeValidator.cpp b/DAEValidator/library/src/DaeValidator.cpp
|
|
||||||
index 715d903..24423ce 100644
|
|
||||||
--- a/DAEValidator/library/src/DaeValidator.cpp
|
|
||||||
+++ b/DAEValidator/library/src/DaeValidator.cpp
|
|
||||||
@@ -162,7 +162,7 @@ namespace opencollada
|
|
||||||
|
|
||||||
// Find xsi:schemaLocation attributes in dae and try to validate against specified xsd documents
|
|
||||||
const auto & elements = dae.root().selectNodes("//*[@xsi:schemaLocation]");
|
|
||||||
- for (const auto & element : elements)
|
|
||||||
+ for (const auto element : elements)
|
|
||||||
{
|
|
||||||
if (auto schemaLocation = element.attribute("schemaLocation"))
|
|
||||||
{
|
|
||||||
@@ -274,7 +274,7 @@ namespace opencollada
|
|
||||||
int result = 0;
|
|
||||||
map<string, size_t> ids;
|
|
||||||
const auto & nodes = dae.root().selectNodes("//*[@id]");
|
|
||||||
- for (const auto & node : nodes)
|
|
||||||
+ for (const auto node : nodes)
|
|
||||||
{
|
|
||||||
string id = node.attribute("id").value();
|
|
||||||
size_t line = node.line();
|
|
||||||
|
120
build_files/build_environment/patches/openimagedenoise.diff
Normal file
120
build_files/build_environment/patches/openimagedenoise.diff
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 70ec895..e616b63 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -178,7 +178,9 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION "0")
|
||||||
|
## Open Image Denoise examples
|
||||||
|
## ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-add_subdirectory(examples)
|
||||||
|
+if(WITH_EXAMPLE)
|
||||||
|
+ add_subdirectory(examples)
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
## ----------------------------------------------------------------------------
|
||||||
|
## Open Image Denoise install and packaging
|
||||||
|
Submodule mkl-dnn contains modified content
|
||||||
|
diff --git a/mkl-dnn/cmake/TBB.cmake b/mkl-dnn/cmake/TBB.cmake
|
||||||
|
index 0711e699..c14210b6 100644
|
||||||
|
--- a/mkl-dnn/cmake/TBB.cmake
|
||||||
|
+++ b/mkl-dnn/cmake/TBB.cmake
|
||||||
|
@@ -138,13 +138,13 @@ else()
|
||||||
|
set(TBB_LIBRARY_MALLOC TBB_LIBRARY_MALLOC-NOTFOUND)
|
||||||
|
if(APPLE)
|
||||||
|
find_path(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS ${TBB_ROOT}/include NO_DEFAULT_PATH)
|
||||||
|
- find_library(TBB_LIBRARY tbb PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||||
|
- find_library(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||||
|
+ find_library(TBB_LIBRARY tbb_static PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||||
|
+ find_library(TBB_LIBRARY_MALLOC tbbmalloc_static PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||||
|
else()
|
||||||
|
find_path(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS ${TBB_ROOT}/include NO_DEFAULT_PATH)
|
||||||
|
set(TBB_HINTS HINTS ${TBB_ROOT}/lib/intel64/gcc4.4 ${TBB_ROOT}/lib ${TBB_ROOT}/lib64 PATHS /usr/libx86_64-linux-gnu/)
|
||||||
|
- find_library(TBB_LIBRARY tbb ${TBB_HINTS})
|
||||||
|
- find_library(TBB_LIBRARY_MALLOC tbbmalloc ${TBB_HINTS})
|
||||||
|
+ find_library(TBB_LIBRARY tbb_static ${TBB_HINTS})
|
||||||
|
+ find_library(TBB_LIBRARY_MALLOC tbbmalloc_static ${TBB_HINTS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
diff '--ignore-matching-lines=:' -ur '--exclude=*.svn*' -u -r
|
||||||
|
--- a/cmake/install.cmake 2019-08-12 18:02:20.794402575 +0200
|
||||||
|
+++ b/cmake/install.cmake 2019-08-12 18:06:07.470045703 +0200
|
||||||
|
@@ -18,6 +18,13 @@
|
||||||
|
## Install library
|
||||||
|
## ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
+if(UNIX)
|
||||||
|
+install(FILES
|
||||||
|
+ ${CMAKE_BINARY_DIR}/libOpenImageDenoise.a
|
||||||
|
+ ${CMAKE_BINARY_DIR}/libmkldnn.a
|
||||||
|
+ ${CMAKE_BINARY_DIR}/libcommon.a
|
||||||
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
+else()
|
||||||
|
install(TARGETS ${PROJECT_NAME}
|
||||||
|
EXPORT
|
||||||
|
${PROJECT_NAME}_Export
|
||||||
|
@@ -38,6 +45,7 @@
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
## ----------------------------------------------------------------------------
|
||||||
|
## Install headers
|
||||||
|
@@ -78,6 +86,7 @@
|
||||||
|
## Install CMake configuration files
|
||||||
|
## ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
+if(NOT UNIX)
|
||||||
|
install(EXPORT ${PROJECT_NAME}_Export
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
|
#NAMESPACE ${PROJECT_NAME}::
|
||||||
|
@@ -92,3 +101,4 @@
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
|
COMPONENT devel
|
||||||
|
)
|
||||||
|
+endif()
|
||||||
|
diff '--ignore-matching-lines=:' -ur '--exclude=*.svn*' -u -r
|
||||||
|
--- a/CMakeLists.txt 2019-08-12 14:22:00.974078598 +0200
|
||||||
|
+++ b/CMakeLists.txt 2019-08-12 18:05:05.949057375 +0200
|
||||||
|
@@ -14,7 +14,11 @@
|
||||||
|
## limitations under the License. ##
|
||||||
|
## ======================================================================== ##
|
||||||
|
|
||||||
|
-cmake_minimum_required(VERSION 3.1)
|
||||||
|
+if(UNIX)
|
||||||
|
+ cmake_minimum_required(VERSION 3.1)
|
||||||
|
+else()
|
||||||
|
+ cmake_minimum_required(VERSION 3.13)
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
set(OIDN_VERSION_MAJOR 1)
|
||||||
|
set(OIDN_VERSION_MINOR 0)
|
||||||
|
@@ -32,13 +36,8 @@
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
|
# Build as shared or static library
|
||||||
|
-if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
|
||||||
|
- option(OIDN_STATIC_LIB "Build Open Image Denoise as a static library.")
|
||||||
|
- mark_as_advanced(CLEAR OIDN_STATIC_LIB)
|
||||||
|
-else()
|
||||||
|
- set(OIDN_STATIC_LIB OFF CACHE BOOL "Build Open Image Denoise as a static library." FORCE)
|
||||||
|
- mark_as_advanced(OIDN_STATIC_LIB)
|
||||||
|
-endif()
|
||||||
|
+option(OIDN_STATIC_LIB "Build Open Image Denoise as a static library.")
|
||||||
|
+mark_as_advanced(CLEAR OIDN_STATIC_LIB)
|
||||||
|
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
|
@@ -1,36 +0,0 @@
|
|||||||
diff -Naur orig/CMakeLists.txt external_openimageio/CMakeLists.txt
|
|
||||||
--- orig/CMakeLists.txt 2020-05-10 21:43:52 -0600
|
|
||||||
+++ external_openimageio/CMakeLists.txt 2020-05-13 17:03:35 -0600
|
|
||||||
@@ -170,7 +170,7 @@
|
|
||||||
add_subdirectory (src/iinfo)
|
|
||||||
add_subdirectory (src/maketx)
|
|
||||||
add_subdirectory (src/oiiotool)
|
|
||||||
- add_subdirectory (src/testtex)
|
|
||||||
+ #add_subdirectory (src/testtex)
|
|
||||||
add_subdirectory (src/iv)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
diff -Naur orig/src/cmake/compiler.cmake external_openimageio/src/cmake/compiler.cmake
|
|
||||||
--- orig/src/cmake/compiler.cmake 2020-05-10 21:43:52 -0600
|
|
||||||
+++ external_openimageio/src/cmake/compiler.cmake 2020-05-13 17:02:54 -0600
|
|
||||||
@@ -172,6 +172,7 @@
|
|
||||||
add_definitions (-D_CRT_NONSTDC_NO_WARNINGS)
|
|
||||||
add_definitions (-D_SCL_SECURE_NO_WARNINGS)
|
|
||||||
add_definitions (-DJAS_WIN_MSVC_BUILD)
|
|
||||||
+ add_definitions (-DOPJ_STATIC)
|
|
||||||
endif (MSVC)
|
|
||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
|
|
||||||
diff -Naur orig/src/include/OpenImageIO/platform.h external_openimageio/src/include/OpenImageIO/platform.h
|
|
||||||
--- orig/src/include/OpenImageIO/platform.h 2020-05-10 21:43:52 -0600
|
|
||||||
+++ external_openimageio/src/include/OpenImageIO/platform.h 2020-05-13 17:04:36 -0600
|
|
||||||
@@ -41,6 +41,9 @@
|
|
||||||
# ifndef NOMINMAX
|
|
||||||
# define NOMINMAX
|
|
||||||
# endif
|
|
||||||
+# ifndef NOGDI
|
|
||||||
+# define NOGDI
|
|
||||||
+# endif
|
|
||||||
# include <windows.h>
|
|
||||||
#endif
|
|
||||||
|
|
26
build_files/build_environment/patches/openimageio_gdi.diff
Normal file
26
build_files/build_environment/patches/openimageio_gdi.diff
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Index: OpenImageIO/osdep.h
|
||||||
|
===================================================================
|
||||||
|
--- OpenImageIO/osdep.h (revision 61595)
|
||||||
|
+++ OpenImageIO/osdep.h (working copy)
|
||||||
|
@@ -34,6 +34,7 @@
|
||||||
|
# define WIN32_LEAN_AND_MEAN
|
||||||
|
# define VC_EXTRALEAN
|
||||||
|
# define NOMINMAX
|
||||||
|
+# define NOGDI
|
||||||
|
# include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Index: OpenImageIO/platform.h
|
||||||
|
===================================================================
|
||||||
|
--- OpenImageIO/platform.h (revision 61595)
|
||||||
|
+++ OpenImageIO/platform.h (working copy)
|
||||||
|
@@ -77,6 +77,9 @@
|
||||||
|
# ifndef NOMINMAX
|
||||||
|
# define NOMINMAX
|
||||||
|
# endif
|
||||||
|
+# ifndef NOGDI
|
||||||
|
+# define NOGDI
|
||||||
|
+# endif
|
||||||
|
# include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
@@ -0,0 +1,22 @@
|
|||||||
|
diff -Naur external_openimageio.orig/src/cmake/compiler.cmake external_openimageio/src/cmake/compiler.cmake
|
||||||
|
--- external_openimageio.orig/src/cmake/compiler.cmake 2018-07-31 23:45:19 -0600
|
||||||
|
+++ external_openimageio/src/cmake/compiler.cmake 2018-08-16 12:50:12 -0600
|
||||||
|
@@ -152,6 +152,7 @@
|
||||||
|
add_definitions (-D_CRT_NONSTDC_NO_WARNINGS)
|
||||||
|
add_definitions (-D_SCL_SECURE_NO_WARNINGS)
|
||||||
|
add_definitions (-DJAS_WIN_MSVC_BUILD)
|
||||||
|
+ add_definitions (-DOPJ_STATIC)
|
||||||
|
endif (MSVC)
|
||||||
|
|
||||||
|
# Use ccache if found
|
||||||
|
--- external_openimageio.orig/CMakeLists.txt 2018-07-31 23:45:19 -0600
|
||||||
|
+++ external_openimageio/CMakeLists.txt 2018-08-17 15:22:56 -0600
|
||||||
|
@@ -169,7 +169,7 @@
|
||||||
|
add_subdirectory (src/iinfo)
|
||||||
|
add_subdirectory (src/maketx)
|
||||||
|
add_subdirectory (src/oiiotool)
|
||||||
|
- add_subdirectory (src/testtex)
|
||||||
|
+# add_subdirectory (src/testtex)
|
||||||
|
add_subdirectory (src/iv)
|
||||||
|
endif ()
|
||||||
|
|
@@ -1,23 +0,0 @@
|
|||||||
diff --git a/runtime/src/z_Linux_asm.S b/runtime/src/z_Linux_asm.S
|
|
||||||
index 0d8885e..42aa5ad 100644
|
|
||||||
--- a/runtime/src/z_Linux_asm.S
|
|
||||||
+++ b/runtime/src/z_Linux_asm.S
|
|
||||||
@@ -1540,10 +1540,12 @@ __kmp_unnamed_critical_addr:
|
|
||||||
.comm .gomp_critical_user_,32,8
|
|
||||||
.data
|
|
||||||
.align 8
|
|
||||||
- .global __kmp_unnamed_critical_addr
|
|
||||||
-__kmp_unnamed_critical_addr:
|
|
||||||
+ .global ___kmp_unnamed_critical_addr
|
|
||||||
+___kmp_unnamed_critical_addr:
|
|
||||||
.8byte .gomp_critical_user_
|
|
||||||
- .size __kmp_unnamed_critical_addr,8
|
|
||||||
+# if !(KMP_OS_DARWIN)
|
|
||||||
+ .size ___kmp_unnamed_critical_addr,8
|
|
||||||
+# endif
|
|
||||||
#endif /* KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 */
|
|
||||||
|
|
||||||
#if KMP_OS_LINUX
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -48,22 +48,3 @@ diff -Naur OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp extern
|
|||||||
|
|
||||||
size_t
|
size_t
|
||||||
LLVM_Util::total_jit_memory_held ()
|
LLVM_Util::total_jit_memory_held ()
|
||||||
diff -Naur OpenShadingLanguage-Release-1.9.9/CMakeLists.txt external_osl/CMakeLists.txt
|
|
||||||
--- orig/CMakeLists.txt 2020-01-27 16:22:31 -0700
|
|
||||||
+++ external_osl/CMakeLists.txt 2020-05-13 18:04:52 -0600
|
|
||||||
@@ -102,10 +102,11 @@
|
|
||||||
set (OPTIX_EXTRA_LIBS CACHE STRING "Extra lib targets needed for OptiX")
|
|
||||||
set (CUDA_TARGET_ARCH "sm_35" CACHE STRING "CUDA GPU architecture (e.g. sm_35)")
|
|
||||||
|
|
||||||
-# set (USE_OIIO_STATIC ON CACHE BOOL "If OIIO is built static")
|
|
||||||
-# if (USE_OIIO_STATIC)
|
|
||||||
-# add_definitions ("-DOIIO_STATIC_BUILD=1")
|
|
||||||
-# endif ()
|
|
||||||
+set (USE_OIIO_STATIC ON CACHE BOOL "If OIIO is built static")
|
|
||||||
+if (USE_OIIO_STATIC)
|
|
||||||
+ add_definitions ("-DOIIO_STATIC_BUILD=1")
|
|
||||||
+ add_definitions ("-DOIIO_STATIC_DEFINE=1")
|
|
||||||
+endif ()
|
|
||||||
|
|
||||||
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
|
||||||
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
|
@@ -1,289 +0,0 @@
|
|||||||
diff -ru a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
|
|
||||||
--- a/Doc/library/ctypes.rst 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/Doc/library/ctypes.rst 2020-07-14 08:10:10.000000000 +0200
|
|
||||||
@@ -1551,6 +1551,13 @@
|
|
||||||
value usable as argument (integer, string, ctypes instance). This allows
|
|
||||||
defining adapters that can adapt custom objects as function parameters.
|
|
||||||
|
|
||||||
+ .. attribute:: variadic
|
|
||||||
+
|
|
||||||
+ Assign a boolean to specify that the function takes a variable number of
|
|
||||||
+ arguments. This does not matter on most platforms, but for Apple arm64
|
|
||||||
+ platforms variadic functions have a different calling convention than
|
|
||||||
+ normal functions.
|
|
||||||
+
|
|
||||||
.. attribute:: errcheck
|
|
||||||
|
|
||||||
Assign a Python function or another callable to this attribute. The
|
|
||||||
diff -ru a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
|
|
||||||
--- a/Modules/_ctypes/_ctypes.c 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/Modules/_ctypes/_ctypes.c 2020-07-14 08:14:41.000000000 +0200
|
|
||||||
@@ -3175,6 +3175,35 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
+PyCFuncPtr_set_variadic(PyCFuncPtrObject *self, PyObject *ob, void *Py_UNUSED(ignored))
|
|
||||||
+{
|
|
||||||
+ StgDictObject *dict = PyObject_stgdict((PyObject *)self);
|
|
||||||
+ assert(dict);
|
|
||||||
+ int r = PyObject_IsTrue(ob);
|
|
||||||
+ if (r == 1) {
|
|
||||||
+ dict->flags |= FUNCFLAG_VARIADIC;
|
|
||||||
+ return 0;
|
|
||||||
+ } else if (r == 0) {
|
|
||||||
+ dict->flags &= ~FUNCFLAG_VARIADIC;
|
|
||||||
+ return 0;
|
|
||||||
+ } else {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static PyObject *
|
|
||||||
+PyCFuncPtr_get_variadic(PyCFuncPtrObject *self, void *Py_UNUSED(ignored))
|
|
||||||
+{
|
|
||||||
+ StgDictObject *dict = PyObject_stgdict((PyObject *)self);
|
|
||||||
+ assert(dict); /* Cannot be NULL for PyCFuncPtrObject instances */
|
|
||||||
+ if (dict->flags & FUNCFLAG_VARIADIC)
|
|
||||||
+ Py_RETURN_TRUE;
|
|
||||||
+ else
|
|
||||||
+ Py_RETURN_FALSE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
PyCFuncPtr_set_argtypes(PyCFuncPtrObject *self, PyObject *ob, void *Py_UNUSED(ignored))
|
|
||||||
{
|
|
||||||
PyObject *converters;
|
|
||||||
@@ -5632,6 +5661,7 @@
|
|
||||||
PyModule_AddObject(m, "FUNCFLAG_USE_ERRNO", PyLong_FromLong(FUNCFLAG_USE_ERRNO));
|
|
||||||
PyModule_AddObject(m, "FUNCFLAG_USE_LASTERROR", PyLong_FromLong(FUNCFLAG_USE_LASTERROR));
|
|
||||||
PyModule_AddObject(m, "FUNCFLAG_PYTHONAPI", PyLong_FromLong(FUNCFLAG_PYTHONAPI));
|
|
||||||
+ PyModule_AddObject(m, "FUNCFLAG_VARIADIC", PyLong_FromLong(FUNCFLAG_VARIADIC));
|
|
||||||
PyModule_AddStringConstant(m, "__version__", "1.1.0");
|
|
||||||
|
|
||||||
PyModule_AddObject(m, "_memmove_addr", PyLong_FromVoidPtr(memmove));
|
|
||||||
diff -ru a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
|
|
||||||
--- a/Modules/_ctypes/callproc.c 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/Modules/_ctypes/callproc.c 2020-07-14 08:18:33.000000000 +0200
|
|
||||||
@@ -767,7 +767,8 @@
|
|
||||||
ffi_type **atypes,
|
|
||||||
ffi_type *restype,
|
|
||||||
void *resmem,
|
|
||||||
- int argcount)
|
|
||||||
+ int argcount,
|
|
||||||
+ int argtypecount)
|
|
||||||
{
|
|
||||||
PyThreadState *_save = NULL; /* For Py_BLOCK_THREADS and Py_UNBLOCK_THREADS */
|
|
||||||
PyObject *error_object = NULL;
|
|
||||||
@@ -793,15 +794,38 @@
|
|
||||||
if ((flags & FUNCFLAG_CDECL) == 0)
|
|
||||||
cc = FFI_STDCALL;
|
|
||||||
#endif
|
|
||||||
- if (FFI_OK != ffi_prep_cif(&cif,
|
|
||||||
- cc,
|
|
||||||
- argcount,
|
|
||||||
- restype,
|
|
||||||
- atypes)) {
|
|
||||||
- PyErr_SetString(PyExc_RuntimeError,
|
|
||||||
- "ffi_prep_cif failed");
|
|
||||||
- return -1;
|
|
||||||
- }
|
|
||||||
+#if HAVE_FFI_PREP_CIF_VAR
|
|
||||||
+ /* Everyone SHOULD set f.variadic=True on variadic function pointers, but
|
|
||||||
+ * lots of existing code will not. If there's at least one arg and more
|
|
||||||
+ * args are passed than are defined in the prototype, then it must be a
|
|
||||||
+ * variadic function. */
|
|
||||||
+ if ((flags & FUNCFLAG_VARIADIC) ||
|
|
||||||
+ (argtypecount != 0 && argcount > argtypecount))
|
|
||||||
+ {
|
|
||||||
+ if (FFI_OK != ffi_prep_cif_var(&cif,
|
|
||||||
+ cc,
|
|
||||||
+ argtypecount,
|
|
||||||
+ argcount,
|
|
||||||
+ restype,
|
|
||||||
+ atypes)) {
|
|
||||||
+ PyErr_SetString(PyExc_RuntimeError,
|
|
||||||
+ "ffi_prep_cif_var failed");
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+#endif
|
|
||||||
+ if (FFI_OK != ffi_prep_cif(&cif,
|
|
||||||
+ cc,
|
|
||||||
+ argcount,
|
|
||||||
+ restype,
|
|
||||||
+ atypes)) {
|
|
||||||
+ PyErr_SetString(PyExc_RuntimeError,
|
|
||||||
+ "ffi_prep_cif failed");
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+#if HAVE_FFI_PREP_CIF_VAR
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (flags & (FUNCFLAG_USE_ERRNO | FUNCFLAG_USE_LASTERROR)) {
|
|
||||||
error_object = _ctypes_get_errobj(&space);
|
|
||||||
@@ -1185,9 +1209,8 @@
|
|
||||||
|
|
||||||
if (-1 == _call_function_pointer(flags, pProc, avalues, atypes,
|
|
||||||
rtype, resbuf,
|
|
||||||
- Py_SAFE_DOWNCAST(argcount,
|
|
||||||
- Py_ssize_t,
|
|
||||||
- int)))
|
|
||||||
+ Py_SAFE_DOWNCAST(argcount, Py_ssize_t, int),
|
|
||||||
+ Py_SAFE_DOWNCAST(argtype_count, Py_ssize_t, int)))
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
#ifdef WORDS_BIGENDIAN
|
|
||||||
diff -ru a/Modules/_ctypes/ctypes.h b/Modules/_ctypes/ctypes.h
|
|
||||||
--- a/Modules/_ctypes/ctypes.h 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/Modules/_ctypes/ctypes.h 2020-07-14 08:30:53.000000000 +0200
|
|
||||||
@@ -285,6 +285,7 @@
|
|
||||||
#define FUNCFLAG_PYTHONAPI 0x4
|
|
||||||
#define FUNCFLAG_USE_ERRNO 0x8
|
|
||||||
#define FUNCFLAG_USE_LASTERROR 0x10
|
|
||||||
+#define FUNCFLAG_VARIADIC 0x20
|
|
||||||
|
|
||||||
#define TYPEFLAG_ISPOINTER 0x100
|
|
||||||
#define TYPEFLAG_HASPOINTER 0x200
|
|
||||||
diff -ru a/configure b/configure
|
|
||||||
--- a/configure 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/configure 2020-07-14 08:03:27.000000000 +0200
|
|
||||||
@@ -3374,7 +3374,7 @@
|
|
||||||
# has no effect, don't bother defining them
|
|
||||||
Darwin/[6789].*)
|
|
||||||
define_xopen_source=no;;
|
|
||||||
- Darwin/1[0-9].*)
|
|
||||||
+ Darwin/[12][0-9].*)
|
|
||||||
define_xopen_source=no;;
|
|
||||||
# On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
|
|
||||||
# used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
|
|
||||||
@@ -9251,6 +9251,9 @@
|
|
||||||
ppc)
|
|
||||||
MACOSX_DEFAULT_ARCH="ppc64"
|
|
||||||
;;
|
|
||||||
+ arm64)
|
|
||||||
+ MACOSX_DEFAULT_ARCH="arm64"
|
|
||||||
+ ;;
|
|
||||||
*)
|
|
||||||
as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
|
|
||||||
;;
|
|
||||||
diff -ru a/configure.ac b/configure.ac
|
|
||||||
--- a/configure.ac 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/configure.ac 2020-07-14 08:03:27.000000000 +0200
|
|
||||||
@@ -2456,6 +2456,9 @@
|
|
||||||
ppc)
|
|
||||||
MACOSX_DEFAULT_ARCH="ppc64"
|
|
||||||
;;
|
|
||||||
+ arm64)
|
|
||||||
+ MACOSX_DEFAULT_ARCH="arm64"
|
|
||||||
+ ;;
|
|
||||||
*)
|
|
||||||
AC_MSG_ERROR([Unexpected output of 'arch' on OSX])
|
|
||||||
;;
|
|
||||||
diff -ru a/setup.py b/setup.py
|
|
||||||
--- a/setup.py 2020-03-10 07:11:12.000000000 +0100
|
|
||||||
+++ b/setup.py 2020-07-14 08:28:12.000000000 +0200
|
|
||||||
@@ -141,6 +141,13 @@
|
|
||||||
os.unlink(tmpfile)
|
|
||||||
|
|
||||||
return MACOS_SDK_ROOT
|
|
||||||
+
|
|
||||||
+def is_macosx_at_least(vers):
|
|
||||||
+ if host_platform == 'darwin':
|
|
||||||
+ dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
|
|
||||||
+ if dep_target:
|
|
||||||
+ return tuple(map(int, dep_target.split('.'))) >= vers
|
|
||||||
+ return False
|
|
||||||
|
|
||||||
def is_macosx_sdk_path(path):
|
|
||||||
"""
|
|
||||||
@@ -150,6 +157,13 @@
|
|
||||||
or path.startswith('/System/')
|
|
||||||
or path.startswith('/Library/') )
|
|
||||||
|
|
||||||
+def grep_headers_for(function, headers):
|
|
||||||
+ for header in headers:
|
|
||||||
+ with open(header, 'r') as f:
|
|
||||||
+ if function in f.read():
|
|
||||||
+ return True
|
|
||||||
+ return False
|
|
||||||
+
|
|
||||||
def find_file(filename, std_dirs, paths):
|
|
||||||
"""Searches for the directory where a given file is located,
|
|
||||||
and returns a possibly-empty list of additional directories, or None
|
|
||||||
@@ -1972,7 +1986,11 @@
|
|
||||||
return True
|
|
||||||
|
|
||||||
def detect_ctypes(self, inc_dirs, lib_dirs):
|
|
||||||
- self.use_system_libffi = False
|
|
||||||
+ if not sysconfig.get_config_var("LIBFFI_INCLUDEDIR") and is_macosx_at_least((10,15)):
|
|
||||||
+ self.use_system_libffi = True
|
|
||||||
+ else:
|
|
||||||
+ self.use_system_libffi = '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS")
|
|
||||||
+
|
|
||||||
include_dirs = []
|
|
||||||
extra_compile_args = []
|
|
||||||
extra_link_args = []
|
|
||||||
@@ -2016,32 +2034,48 @@
|
|
||||||
ext_test = Extension('_ctypes_test',
|
|
||||||
sources=['_ctypes/_ctypes_test.c'],
|
|
||||||
libraries=['m'])
|
|
||||||
+ ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR")
|
|
||||||
+ ffi_lib = None
|
|
||||||
+
|
|
||||||
self.extensions.extend([ext, ext_test])
|
|
||||||
|
|
||||||
if host_platform == 'darwin':
|
|
||||||
- if '--with-system-ffi' not in sysconfig.get_config_var("CONFIG_ARGS"):
|
|
||||||
+ if not self.use_system_libffi:
|
|
||||||
return
|
|
||||||
- # OS X 10.5 comes with libffi.dylib; the include files are
|
|
||||||
- # in /usr/include/ffi
|
|
||||||
- inc_dirs.append('/usr/include/ffi')
|
|
||||||
-
|
|
||||||
- ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
|
|
||||||
- if not ffi_inc or ffi_inc[0] == '':
|
|
||||||
- ffi_inc = find_file('ffi.h', [], inc_dirs)
|
|
||||||
- if ffi_inc is not None:
|
|
||||||
- ffi_h = ffi_inc[0] + '/ffi.h'
|
|
||||||
+ ffi_in_sdk = os.path.join(macosx_sdk_root(), "usr/include/ffi")
|
|
||||||
+ if os.path.exists(ffi_in_sdk):
|
|
||||||
+ ffi_inc = ffi_in_sdk
|
|
||||||
+ ffi_lib = 'ffi'
|
|
||||||
+ else:
|
|
||||||
+ # OS X 10.5 comes with libffi.dylib; the include files are
|
|
||||||
+ # in /usr/include/ffi
|
|
||||||
+ ffi_inc_dirs.append('/usr/include/ffi')
|
|
||||||
+
|
|
||||||
+ if not ffi_inc:
|
|
||||||
+ found = find_file('ffi.h', [], ffi_inc_dirs)
|
|
||||||
+ if found:
|
|
||||||
+ ffi_inc = found[0]
|
|
||||||
+ if ffi_inc:
|
|
||||||
+ ffi_h = ffi_inc + '/ffi.h'
|
|
||||||
if not os.path.exists(ffi_h):
|
|
||||||
ffi_inc = None
|
|
||||||
print('Header file {} does not exist'.format(ffi_h))
|
|
||||||
- ffi_lib = None
|
|
||||||
- if ffi_inc is not None:
|
|
||||||
+ if ffi_lib is None and ffi_inc:
|
|
||||||
for lib_name in ('ffi', 'ffi_pic'):
|
|
||||||
if (self.compiler.find_library_file(lib_dirs, lib_name)):
|
|
||||||
ffi_lib = lib_name
|
|
||||||
break
|
|
||||||
|
|
||||||
if ffi_inc and ffi_lib:
|
|
||||||
- ext.include_dirs.extend(ffi_inc)
|
|
||||||
+ ffi_headers = glob(os.path.join(ffi_inc, '*.h'))
|
|
||||||
+ if grep_headers_for('ffi_closure_alloc', ffi_headers):
|
|
||||||
+ try:
|
|
||||||
+ sources.remove('_ctypes/malloc_closure.c')
|
|
||||||
+ except ValueError:
|
|
||||||
+ pass
|
|
||||||
+ if grep_headers_for('ffi_prep_cif_var', ffi_headers):
|
|
||||||
+ ext.extra_compile_args.append("-DHAVE_FFI_PREP_CIF_VAR=1")
|
|
||||||
+ ext.include_dirs.append(ffi_inc)
|
|
||||||
ext.libraries.append(ffi_lib)
|
|
||||||
self.use_system_libffi = True
|
|
||||||
|
|
@@ -1,14 +0,0 @@
|
|||||||
Only in external_sqlite_orig: config.log
|
|
||||||
diff -ru external_sqlite_orig/config.sub external_sqlite/config.sub
|
|
||||||
--- external_sqlite_orig/config.sub 2020-07-10 14:06:42.000000000 +0200
|
|
||||||
+++ external_sqlite/config.sub 2020-07-10 14:10:24.000000000 +0200
|
|
||||||
@@ -314,6 +314,7 @@
|
|
||||||
# Recognize the basic CPU types with company name.
|
|
||||||
580-* \
|
|
||||||
| a29k-* \
|
|
||||||
+ | aarch64-* \
|
|
||||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
|
||||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
|
||||||
Only in external_sqlite: mksourceid
|
|
||||||
Only in external_sqlite: sqlite3session.h
|
|
@@ -1,18 +0,0 @@
|
|||||||
--- config.sub
|
|
||||||
+++ config.sub
|
|
||||||
@@ -226,6 +226,7 @@
|
|
||||||
# Some are omitted here because they have special meanings below.
|
|
||||||
1750a | 580 \
|
|
||||||
| a29k \
|
|
||||||
+ | aarch64 \
|
|
||||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
|
||||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
|
|
||||||
@@ -286,6 +287,7 @@
|
|
||||||
# Recognize the basic CPU types with company name.
|
|
||||||
580-* \
|
|
||||||
| a29k-* \
|
|
||||||
+ | aarch64-* \
|
|
||||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
|
||||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
|
@@ -1,3 +1,14 @@
|
|||||||
|
diff -x .git -ur usd.orig/cmake/defaults/Options.cmake external_usd/cmake/defaults/Options.cmake
|
||||||
|
--- usd.orig/cmake/defaults/Options.cmake 2019-10-24 22:39:53.000000000 +0200
|
||||||
|
+++ external_usd/cmake/defaults/Options.cmake 2019-11-28 13:00:33.197957712 +0100
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
option(PXR_VALIDATE_GENERATED_CODE "Validate script generated code" OFF)
|
||||||
|
option(PXR_HEADLESS_TEST_MODE "Disallow GUI based tests, useful for running under headless CI systems." OFF)
|
||||||
|
option(PXR_BUILD_TESTS "Build tests" ON)
|
||||||
|
+option(PXR_BUILD_USD_TOOLS "Build commandline tools" ON)
|
||||||
|
option(PXR_BUILD_IMAGING "Build imaging components" ON)
|
||||||
|
option(PXR_BUILD_EMBREE_PLUGIN "Build embree imaging plugin" OFF)
|
||||||
|
option(PXR_BUILD_OPENIMAGEIO_PLUGIN "Build OpenImageIO plugin" OFF)
|
||||||
diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake
|
diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake
|
||||||
--- usd.orig/cmake/defaults/Packages.cmake 2019-10-24 22:39:53.000000000 +0200
|
--- usd.orig/cmake/defaults/Packages.cmake 2019-10-24 22:39:53.000000000 +0200
|
||||||
+++ external_usd/cmake/defaults/Packages.cmake 2019-11-28 13:00:33.185957483 +0100
|
+++ external_usd/cmake/defaults/Packages.cmake 2019-11-28 13:00:33.185957483 +0100
|
||||||
@@ -10,11 +21,11 @@ diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defau
|
|||||||
add_definitions(${TBB_DEFINITIONS})
|
add_definitions(${TBB_DEFINITIONS})
|
||||||
|
|
||||||
# --math
|
# --math
|
||||||
diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plug/initConfig.cpp
|
diff -x .git -ur usd.orig/pxr/base/lib/plug/initConfig.cpp external_usd/pxr/base/lib/plug/initConfig.cpp
|
||||||
--- usd.orig/pxr/base/plug/initConfig.cpp.orig 2020-06-12 17:20:07.478199779 +0200
|
--- usd.orig/pxr/base/lib/plug/initConfig.cpp 2019-10-24 22:39:53.000000000 +0200
|
||||||
+++ external_usd/pxr/base/plug/initConfig.cpp 2020-06-12 17:25:28.648588552 +0200
|
+++ external_usd/pxr/base/lib/plug/initConfig.cpp 2019-12-11 11:00:37.643323127 +0100
|
||||||
@@ -69,10 +69,40 @@
|
@@ -69,8 +69,38 @@
|
||||||
|
|
||||||
ARCH_CONSTRUCTOR(Plug_InitConfig, 2, void)
|
ARCH_CONSTRUCTOR(Plug_InitConfig, 2, void)
|
||||||
{
|
{
|
||||||
+ /* The contents of this constructor have been moved to usd_initialise_plugin_path(...) */
|
+ /* The contents of this constructor have been moved to usd_initialise_plugin_path(...) */
|
||||||
@@ -39,9 +50,7 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
|
|||||||
+usd_initialise_plugin_path(const char *datafiles_usd_path)
|
+usd_initialise_plugin_path(const char *datafiles_usd_path)
|
||||||
+{
|
+{
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
|
|
||||||
std::vector<std::string> debugMessages;
|
|
||||||
|
|
||||||
+ // Add Blender-specific paths. They MUST end in a slash, or symlinks will not be treated as directory.
|
+ // Add Blender-specific paths. They MUST end in a slash, or symlinks will not be treated as directory.
|
||||||
+ if (datafiles_usd_path != NULL && datafiles_usd_path[0] != '\0') {
|
+ if (datafiles_usd_path != NULL && datafiles_usd_path[0] != '\0') {
|
||||||
+ std::string datafiles_usd_path_str(datafiles_usd_path);
|
+ std::string datafiles_usd_path_str(datafiles_usd_path);
|
||||||
@@ -51,14 +60,14 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
|
|||||||
+ result.push_back(datafiles_usd_path_str);
|
+ result.push_back(datafiles_usd_path_str);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
// Determine the absolute path to the Plug shared library. Any relative
|
// Determine the absolute path to the Plug shared library.
|
||||||
// paths specified in the plugin search path will be anchored to this
|
// Any relative paths specified in the plugin search path will be
|
||||||
// directory, to allow for relocatability. Note that this can fail when pxr
|
// anchored to this directory, to allow for relocatability.
|
||||||
@@ -114,9 +144,24 @@
|
@@ -94,9 +124,24 @@
|
||||||
_AppendPathList(&result, installLocation, binaryPath);
|
_AppendPathList(&result, installLocation, sharedLibPath);
|
||||||
#endif // PXR_INSTALL_LOCATION
|
#endif // PXR_INSTALL_LOCATION
|
||||||
|
|
||||||
- Plug_SetPaths(result, debugMessages);
|
- Plug_SetPaths(result);
|
||||||
-}
|
-}
|
||||||
+ if (!TfGetenv("PXR_PATH_DEBUG").empty()) {
|
+ if (!TfGetenv("PXR_PATH_DEBUG").empty()) {
|
||||||
+ printf("USD Plugin paths: (%zu in total):\n", result.size());
|
+ printf("USD Plugin paths: (%zu in total):\n", result.size());
|
||||||
@@ -66,10 +75,10 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
|
|||||||
+ printf(" %s\n", path.c_str());
|
+ printf(" %s\n", path.c_str());
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
+ Plug_SetPaths(result, debugMessages);
|
+ Plug_SetPaths(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
PXR_NAMESPACE_CLOSE_SCOPE
|
PXR_NAMESPACE_CLOSE_SCOPE
|
||||||
+
|
+
|
||||||
+/* Workaround to make it possible to pass a path at runtime to USD. */
|
+/* Workaround to make it possible to pass a path at runtime to USD. */
|
||||||
@@ -81,6 +90,37 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
|
|||||||
+ PXR_NS::usd_initialise_plugin_path(datafiles_usd_path);
|
+ PXR_NS::usd_initialise_plugin_path(datafiles_usd_path);
|
||||||
+}
|
+}
|
||||||
+}
|
+}
|
||||||
|
diff -x .git -ur usd.orig/pxr/usd/CMakeLists.txt external_usd/pxr/usd/CMakeLists.txt
|
||||||
|
--- usd.orig/pxr/usd/CMakeLists.txt 2019-10-24 22:39:53.000000000 +0200
|
||||||
|
+++ external_usd/pxr/usd/CMakeLists.txt 2019-11-28 13:00:33.197957712 +0100
|
||||||
|
@@ -1,6 +1,5 @@
|
||||||
|
set(DIRS
|
||||||
|
lib
|
||||||
|
- bin
|
||||||
|
plugin
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -8,3 +7,8 @@
|
||||||
|
add_subdirectory(${d})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
+if (PXR_BUILD_USD_TOOLS)
|
||||||
|
+ add_subdirectory(bin)
|
||||||
|
+else()
|
||||||
|
+ message(STATUS "Skipping commandline tools because PXR_BUILD_USD_TOOLS=OFF")
|
||||||
|
+endif()
|
||||||
|
diff -Naur external_usd_orig/pxr/base/lib/tf/preprocessorUtils.h external_usd/pxr/base/lib/tf/preprocessorUtils.h
|
||||||
|
--- external_usd_orig/pxr/base/lib/tf/preprocessorUtils.h 2019-10-24 14:39:53 -0600
|
||||||
|
+++ external_usd/pxr/base/lib/tf/preprocessorUtils.h 2020-01-14 09:30:18 -0700
|
||||||
|
@@ -189,7 +189,7 @@
|
||||||
|
/// Exapnds to 1 if the argument is a tuple, and 0 otherwise.
|
||||||
|
/// \ingroup group_tf_Preprocessor
|
||||||
|
/// \hideinitializer
|
||||||
|
-#if defined(ARCH_OS_WINDOWS)
|
||||||
|
+#if defined(ARCH_COMPILER_MSVC)
|
||||||
|
#define TF_PP_IS_TUPLE(sequence) \
|
||||||
|
BOOST_VMD_IS_TUPLE(sequence)
|
||||||
|
#else
|
||||||
diff -Naur external_usd_base/cmake/macros/Public.cmake external_usd/cmake/macros/Public.cmake
|
diff -Naur external_usd_base/cmake/macros/Public.cmake external_usd/cmake/macros/Public.cmake
|
||||||
--- external_usd_base/cmake/macros/Public.cmake 2019-10-24 14:39:53 -0600
|
--- external_usd_base/cmake/macros/Public.cmake 2019-10-24 14:39:53 -0600
|
||||||
+++ external_usd/cmake/macros/Public.cmake 2020-01-11 13:33:29 -0700
|
+++ external_usd/cmake/macros/Public.cmake 2020-01-11 13:33:29 -0700
|
||||||
@@ -97,36 +137,3 @@ diff -Naur external_usd_base/cmake/macros/Public.cmake external_usd/cmake/macros
|
|||||||
endforeach()
|
endforeach()
|
||||||
foreach(lib ${PXR_OBJECT_LIBS})
|
foreach(lib ${PXR_OBJECT_LIBS})
|
||||||
set(objects "${objects};\$<TARGET_OBJECTS:${lib}>")
|
set(objects "${objects};\$<TARGET_OBJECTS:${lib}>")
|
||||||
|
|
||||||
diff --git a/pxr/base/arch/align.h b/pxr/base/arch/align.h
|
|
||||||
index f3cabf4..ebc8a69 100644
|
|
||||||
--- a/pxr/base/arch/align.h
|
|
||||||
+++ b/pxr/base/arch/align.h
|
|
||||||
@@ -77,7 +77,11 @@ ArchAlignMemory(void *base)
|
|
||||||
/// The size of a CPU cache line on the current processor architecture in bytes.
|
|
||||||
///
|
|
||||||
/// \hideinitializer
|
|
||||||
+#if defined(ARCH_OS_DARWIN) && defined(ARCH_CPU_ARM)
|
|
||||||
+#define ARCH_CACHE_LINE_SIZE 128
|
|
||||||
+#else
|
|
||||||
#define ARCH_CACHE_LINE_SIZE 64
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
///@}
|
|
||||||
|
|
||||||
diff --git a/pxr/base/arch/math.h b/pxr/base/arch/math.h
|
|
||||||
index 3e66c37..64a052c 100644
|
|
||||||
--- a/pxr/base/arch/math.h
|
|
||||||
+++ b/pxr/base/arch/math.h
|
|
||||||
@@ -42,7 +42,7 @@ PXR_NAMESPACE_OPEN_SCOPE
|
|
||||||
/// \addtogroup group_arch_Math
|
|
||||||
///@{
|
|
||||||
|
|
||||||
-#if defined (ARCH_CPU_INTEL) || defined(doxygen)
|
|
||||||
+#if defined (ARCH_CPU_INTEL) || defined(ARCH_CPU_ARM) || defined(doxygen)
|
|
||||||
|
|
||||||
/// This is the smallest value e such that 1+e^2 == 1, using floats.
|
|
||||||
/// True for all IEEE754 chipsets.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
22
build_files/build_environment/patches/x264.diff
Normal file
22
build_files/build_environment/patches/x264.diff
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
--- x264-snapshot-20180811-2245-stable\configure 2018-08-11 14:45:05 -0600
|
||||||
|
+++ external_x264\configure 2018-08-11 23:51:35 -0600
|
||||||
|
@@ -396,7 +396,7 @@
|
||||||
|
# list of all preprocessor HAVE values we can define
|
||||||
|
CONFIG_HAVE="MALLOC_H ALTIVEC ALTIVEC_H MMX ARMV6 ARMV6T2 NEON BEOSTHREAD POSIXTHREAD WIN32THREAD THREAD LOG2F SWSCALE \
|
||||||
|
LAVF FFMS GPAC AVS GPL VECTOREXT INTERLACED CPU_COUNT OPENCL THP LSMASH X86_INLINE_ASM AS_FUNC INTEL_DISPATCHER \
|
||||||
|
- MSA MMAP WINRT VSX ARM_INLINE_ASM STRTOK_R BITDEPTH8 BITDEPTH10"
|
||||||
|
+ MSA MMAP WINRT VSX ARM_INLINE_ASM BITDEPTH8 BITDEPTH10"
|
||||||
|
|
||||||
|
# parse options
|
||||||
|
|
||||||
|
@@ -1071,10 +1071,6 @@
|
||||||
|
define HAVE_LOG2F
|
||||||
|
fi
|
||||||
|
|
||||||
|
-if cc_check 'string.h' '' 'strtok_r(0, 0, 0);' ; then
|
||||||
|
- define HAVE_STRTOK_R
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
if [ "$SYS" != "WINDOWS" ] && cpp_check "sys/mman.h unistd.h" "" "defined(MAP_PRIVATE)"; then
|
||||||
|
define HAVE_MMAP
|
||||||
|
fi
|
@@ -8,7 +8,7 @@ Code signing is done as part of INSTALL target, which makes it possible to sign
|
|||||||
files which are aimed into a bundle and coming from a non-signed source (such as
|
files which are aimed into a bundle and coming from a non-signed source (such as
|
||||||
libraries SVN).
|
libraries SVN).
|
||||||
|
|
||||||
This is achieved by specifying `worker_codesign.cmake` as a post-install script
|
This is achieved by specifying `slave_codesign.cmake` as a post-install script
|
||||||
run by CMake. This CMake script simply involves an utility script written in
|
run by CMake. This CMake script simply involves an utility script written in
|
||||||
Python which takes care of an actual signing.
|
Python which takes care of an actual signing.
|
||||||
|
|
||||||
|
@@ -40,8 +40,8 @@ class Builder:
|
|||||||
|
|
||||||
# Buildbot runs from build/ directory
|
# Buildbot runs from build/ directory
|
||||||
self.blender_dir = os.path.abspath(os.path.join('..', 'blender.git'))
|
self.blender_dir = os.path.abspath(os.path.join('..', 'blender.git'))
|
||||||
self.build_dir = os.path.abspath(os.path.join('..', 'build'))
|
self.build_dir = os.path.abspath(os.path.join('..', 'build', name))
|
||||||
self.install_dir = os.path.abspath(os.path.join('..', 'install'))
|
self.install_dir = os.path.abspath(os.path.join('..', 'install', name))
|
||||||
self.upload_dir = os.path.abspath(os.path.join('..', 'install'))
|
self.upload_dir = os.path.abspath(os.path.join('..', 'install'))
|
||||||
|
|
||||||
# Detect platform
|
# Detect platform
|
||||||
@@ -51,7 +51,7 @@ class Builder:
|
|||||||
elif name.startswith('linux'):
|
elif name.startswith('linux'):
|
||||||
self.platform = 'linux'
|
self.platform = 'linux'
|
||||||
if is_tool('scl'):
|
if is_tool('scl'):
|
||||||
self.command_prefix = ['scl', 'enable', 'devtoolset-9', '--']
|
self.command_prefix = ['scl', 'enable', 'devtoolset-6', '--']
|
||||||
else:
|
else:
|
||||||
self.command_prefix = []
|
self.command_prefix = []
|
||||||
elif name.startswith('win'):
|
elif name.startswith('win'):
|
||||||
@@ -78,26 +78,27 @@ class VersionInfo:
|
|||||||
blender_h = os.path.join(builder.blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
|
blender_h = os.path.join(builder.blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
|
||||||
|
|
||||||
version_number = int(self._parse_header_file(blender_h, 'BLENDER_VERSION'))
|
version_number = int(self._parse_header_file(blender_h, 'BLENDER_VERSION'))
|
||||||
version_number_patch = int(self._parse_header_file(blender_h, 'BLENDER_VERSION_PATCH'))
|
self.version = "%d.%d" % (version_number // 100, version_number % 100)
|
||||||
version_numbers = (version_number // 100, version_number % 100, version_number_patch)
|
self.version_char = self._parse_header_file(blender_h, 'BLENDER_VERSION_CHAR')
|
||||||
self.short_version = "%d.%02d" % (version_numbers[0], version_numbers[1])
|
|
||||||
self.version = "%d.%02d.%d" % version_numbers
|
|
||||||
self.version_cycle = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE')
|
self.version_cycle = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE')
|
||||||
self.version_cycle_number = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE_NUMBER')
|
self.version_cycle_number = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE_NUMBER')
|
||||||
self.hash = self._parse_header_file(buildinfo_h, 'BUILD_HASH')[1:-1]
|
self.hash = self._parse_header_file(buildinfo_h, 'BUILD_HASH')[1:-1]
|
||||||
|
|
||||||
if self.version_cycle == "release":
|
if self.version_cycle == "release":
|
||||||
# Final release
|
# Final release
|
||||||
self.full_version = self.version
|
self.full_version = self.version + self.version_char
|
||||||
self.is_development_build = False
|
self.is_development_build = False
|
||||||
elif self.version_cycle == "rc":
|
elif self.version_cycle == "rc":
|
||||||
# Release candidate
|
# Release candidate
|
||||||
version_cycle = self.version_cycle + self.version_cycle_number
|
version_cycle = self.version_cycle + self.version_cycle_number
|
||||||
self.full_version = self.version + version_cycle
|
if len(self.version_char) == 0:
|
||||||
|
self.full_version = self.version + version_cycle
|
||||||
|
else:
|
||||||
|
self.full_version = self.version + self.version_char + '-' + version_cycle
|
||||||
self.is_development_build = False
|
self.is_development_build = False
|
||||||
else:
|
else:
|
||||||
# Development build
|
# Development build
|
||||||
self.full_version = self.version + '-' + self.hash
|
self.full_version = self.version + self.version_char + '-' + self.hash
|
||||||
self.is_development_build = True
|
self.is_development_build = True
|
||||||
|
|
||||||
def _parse_header_file(self, filename, define):
|
def _parse_header_file(self, filename, define):
|
||||||
|
@@ -48,7 +48,6 @@ import shutil
|
|||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
import tarfile
|
import tarfile
|
||||||
import uuid
|
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
@@ -122,10 +121,21 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
# Consider this an input of the code signing server.
|
# Consider this an input of the code signing server.
|
||||||
unsigned_storage_dir: Path
|
unsigned_storage_dir: Path
|
||||||
|
|
||||||
|
# Information about archive which contains files which are to be signed.
|
||||||
|
#
|
||||||
|
# This archive is created by the buildbot worked and acts as an input for
|
||||||
|
# the code signing server.
|
||||||
|
unsigned_archive_info: ArchiveWithIndicator
|
||||||
|
|
||||||
# Storage where signed files are stored.
|
# Storage where signed files are stored.
|
||||||
# Consider this an output of the code signer server.
|
# Consider this an output of the code signer server.
|
||||||
signed_storage_dir: Path
|
signed_storage_dir: Path
|
||||||
|
|
||||||
|
# Information about archive which contains signed files.
|
||||||
|
#
|
||||||
|
# This archive is created by the code signing server.
|
||||||
|
signed_archive_info: ArchiveWithIndicator
|
||||||
|
|
||||||
# Platform the code is currently executing on.
|
# Platform the code is currently executing on.
|
||||||
platform: util.Platform
|
platform: util.Platform
|
||||||
|
|
||||||
@@ -136,44 +146,50 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
|
|
||||||
# Unsigned (signing server input) configuration.
|
# Unsigned (signing server input) configuration.
|
||||||
self.unsigned_storage_dir = absolute_shared_storage_dir / 'unsigned'
|
self.unsigned_storage_dir = absolute_shared_storage_dir / 'unsigned'
|
||||||
|
self.unsigned_archive_info = ArchiveWithIndicator(
|
||||||
|
self.unsigned_storage_dir, 'unsigned_files.tar', 'ready.stamp')
|
||||||
|
|
||||||
# Signed (signing server output) configuration.
|
# Signed (signing server output) configuration.
|
||||||
self.signed_storage_dir = absolute_shared_storage_dir / 'signed'
|
self.signed_storage_dir = absolute_shared_storage_dir / 'signed'
|
||||||
|
self.signed_archive_info = ArchiveWithIndicator(
|
||||||
|
self.signed_storage_dir, 'signed_files.tar', 'ready.stamp')
|
||||||
|
|
||||||
self.platform = util.get_current_platform()
|
self.platform = util.get_current_platform()
|
||||||
|
|
||||||
|
"""
|
||||||
|
General note on cleanup environment functions.
|
||||||
|
|
||||||
|
It is expected that there is only one instance of the code signer server
|
||||||
|
running for a given input/output directory, and that it serves a single
|
||||||
|
buildbot worker.
|
||||||
|
By its nature, a buildbot worker only produces one build at a time and
|
||||||
|
never performs concurrent builds.
|
||||||
|
This leads to a conclusion that when starting in a clean environment
|
||||||
|
there shouldn't be any archives remaining from a previous build.
|
||||||
|
|
||||||
|
However, it is possible to have various failure scenarios which might
|
||||||
|
leave the environment in a non-clean state:
|
||||||
|
|
||||||
|
- Network hiccup which makes buildbot worker to stop current build
|
||||||
|
and re-start it after connection to server is re-established.
|
||||||
|
|
||||||
|
Note, this could also happen during buildbot server maintenance.
|
||||||
|
|
||||||
|
- Signing server might get restarted due to updates or other reasons.
|
||||||
|
|
||||||
|
Requiring manual interaction in such cases is not something good to
|
||||||
|
require, so here we simply assume that the system is used the way it is
|
||||||
|
intended to and restore environment to a prestine clean state.
|
||||||
|
"""
|
||||||
|
|
||||||
def cleanup_environment_for_builder(self) -> None:
|
def cleanup_environment_for_builder(self) -> None:
|
||||||
# TODO(sergey): Revisit need of cleaning up the existing files.
|
self.unsigned_archive_info.clean()
|
||||||
# In practice it wasn't so helpful, and with multiple clients
|
self.signed_archive_info.clean()
|
||||||
# talking to the same server it becomes even mor etricky.
|
|
||||||
pass
|
|
||||||
|
|
||||||
def cleanup_environment_for_signing_server(self) -> None:
|
def cleanup_environment_for_signing_server(self) -> None:
|
||||||
# TODO(sergey): Revisit need of cleaning up the existing files.
|
# Don't clear the requested to-be-signed archive since we might be
|
||||||
# In practice it wasn't so helpful, and with multiple clients
|
# restarting signing machine while the buildbot is busy.
|
||||||
# talking to the same server it becomes even mor etricky.
|
self.signed_archive_info.clean()
|
||||||
pass
|
|
||||||
|
|
||||||
def generate_request_id(self) -> str:
|
|
||||||
"""
|
|
||||||
Generate an unique identifier for code signing request.
|
|
||||||
"""
|
|
||||||
return str(uuid.uuid4())
|
|
||||||
|
|
||||||
def archive_info_for_request_id(
|
|
||||||
self, path: Path, request_id: str) -> ArchiveWithIndicator:
|
|
||||||
return ArchiveWithIndicator(
|
|
||||||
path, f'{request_id}.tar', f'{request_id}.ready')
|
|
||||||
|
|
||||||
def signed_archive_info_for_request_id(
|
|
||||||
self, request_id: str) -> ArchiveWithIndicator:
|
|
||||||
return self.archive_info_for_request_id(
|
|
||||||
self.signed_storage_dir, request_id)
|
|
||||||
|
|
||||||
def unsigned_archive_info_for_request_id(
|
|
||||||
self, request_id: str) -> ArchiveWithIndicator:
|
|
||||||
return self.archive_info_for_request_id(
|
|
||||||
self.unsigned_storage_dir, request_id)
|
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
# Buildbot worker side helpers.
|
# Buildbot worker side helpers.
|
||||||
@@ -216,7 +232,7 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
if self.check_file_is_to_be_signed(file)]
|
if self.check_file_is_to_be_signed(file)]
|
||||||
return files_to_be_signed
|
return files_to_be_signed
|
||||||
|
|
||||||
def wait_for_signed_archive_or_die(self, request_id) -> None:
|
def wait_for_signed_archive_or_die(self) -> None:
|
||||||
"""
|
"""
|
||||||
Wait until archive with signed files is available.
|
Wait until archive with signed files is available.
|
||||||
|
|
||||||
@@ -224,19 +240,13 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
is still no responce from the signing server the application will exit
|
is still no responce from the signing server the application will exit
|
||||||
with a non-zero exit code.
|
with a non-zero exit code.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
signed_archive_info = self.signed_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
unsigned_archive_info = self.unsigned_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
|
|
||||||
timeout_in_seconds = self.config.TIMEOUT_IN_SECONDS
|
timeout_in_seconds = self.config.TIMEOUT_IN_SECONDS
|
||||||
time_start = time.monotonic()
|
time_start = time.monotonic()
|
||||||
while not signed_archive_info.is_ready():
|
while not self.signed_archive_info.is_ready():
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
time_slept_in_seconds = time.monotonic() - time_start
|
time_slept_in_seconds = time.monotonic() - time_start
|
||||||
if time_slept_in_seconds > timeout_in_seconds:
|
if time_slept_in_seconds > timeout_in_seconds:
|
||||||
unsigned_archive_info.clean()
|
self.unsigned_archive_info.clean()
|
||||||
raise SystemExit("Signing server didn't finish signing in "
|
raise SystemExit("Signing server didn't finish signing in "
|
||||||
f"{timeout_in_seconds} seconds, dying :(")
|
f"{timeout_in_seconds} seconds, dying :(")
|
||||||
|
|
||||||
@@ -293,19 +303,13 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
return
|
return
|
||||||
logger_builder.info('Found %d files to sign.', len(files))
|
logger_builder.info('Found %d files to sign.', len(files))
|
||||||
|
|
||||||
request_id = self.generate_request_id()
|
|
||||||
signed_archive_info = self.signed_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
unsigned_archive_info = self.unsigned_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
|
|
||||||
pack_files(files=files,
|
pack_files(files=files,
|
||||||
archive_filepath=unsigned_archive_info.archive_filepath)
|
archive_filepath=self.unsigned_archive_info.archive_filepath)
|
||||||
unsigned_archive_info.tag_ready()
|
self.unsigned_archive_info.tag_ready()
|
||||||
|
|
||||||
# Wait for the signing server to finish signing.
|
# Wait for the signing server to finish signing.
|
||||||
logger_builder.info('Waiting signing server to sign the files...')
|
logger_builder.info('Waiting signing server to sign the files...')
|
||||||
self.wait_for_signed_archive_or_die(request_id)
|
self.wait_for_signed_archive_or_die()
|
||||||
|
|
||||||
# Extract signed files from archive and move files to final location.
|
# Extract signed files from archive and move files to final location.
|
||||||
with TemporaryDirectory(prefix='blender-buildbot-') as temp_dir_str:
|
with TemporaryDirectory(prefix='blender-buildbot-') as temp_dir_str:
|
||||||
@@ -313,7 +317,7 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
|
|
||||||
logger_builder.info('Extracting signed files from archive...')
|
logger_builder.info('Extracting signed files from archive...')
|
||||||
extract_files(
|
extract_files(
|
||||||
archive_filepath=signed_archive_info.archive_filepath,
|
archive_filepath=self.signed_archive_info.archive_filepath,
|
||||||
extraction_dir=unpacked_signed_files_dir)
|
extraction_dir=unpacked_signed_files_dir)
|
||||||
|
|
||||||
destination_dir = path
|
destination_dir = path
|
||||||
@@ -323,44 +327,19 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
unpacked_signed_files_dir, destination_dir)
|
unpacked_signed_files_dir, destination_dir)
|
||||||
|
|
||||||
logger_builder.info('Removing archive with signed files...')
|
logger_builder.info('Removing archive with signed files...')
|
||||||
signed_archive_info.clean()
|
self.signed_archive_info.clean()
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
# Signing server side helpers.
|
# Signing server side helpers.
|
||||||
|
|
||||||
def wait_for_sign_request(self) -> str:
|
def wait_for_sign_request(self) -> None:
|
||||||
"""
|
"""
|
||||||
Wait for the buildbot to request signing of an archive.
|
Wait for the buildbot to request signing of an archive.
|
||||||
|
|
||||||
Returns an identifier of signing request.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# TOOD(sergey): Support graceful shutdown on Ctrl-C.
|
# TOOD(sergey): Support graceful shutdown on Ctrl-C.
|
||||||
|
while not self.unsigned_archive_info.is_ready():
|
||||||
logger_server.info(
|
|
||||||
f'Waiting for a request directory {self.unsigned_storage_dir} to appear.')
|
|
||||||
while not self.unsigned_storage_dir.exists():
|
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
logger_server.info(
|
|
||||||
'Waiting for a READY indicator of any signing request.')
|
|
||||||
request_id = None
|
|
||||||
while request_id is None:
|
|
||||||
for file in self.unsigned_storage_dir.iterdir():
|
|
||||||
if file.suffix != '.ready':
|
|
||||||
continue
|
|
||||||
request_id = file.stem
|
|
||||||
logger_server.info(f'Found READY for request ID {request_id}.')
|
|
||||||
if request_id is None:
|
|
||||||
time.sleep(1)
|
|
||||||
|
|
||||||
unsigned_archive_info = self.unsigned_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
while not unsigned_archive_info.is_ready():
|
|
||||||
time.sleep(1)
|
|
||||||
|
|
||||||
return request_id
|
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def sign_all_files(self, files: List[AbsoluteAndRelativeFileName]) -> None:
|
def sign_all_files(self, files: List[AbsoluteAndRelativeFileName]) -> None:
|
||||||
"""
|
"""
|
||||||
@@ -369,7 +348,7 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
NOTE: Signing should happen in-place.
|
NOTE: Signing should happen in-place.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def run_signing_pipeline(self, request_id: str):
|
def run_signing_pipeline(self):
|
||||||
"""
|
"""
|
||||||
Run the full signing pipeline starting from the point when buildbot
|
Run the full signing pipeline starting from the point when buildbot
|
||||||
worker have requested signing.
|
worker have requested signing.
|
||||||
@@ -381,14 +360,9 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
with TemporaryDirectory(prefix='blender-codesign-') as temp_dir_str:
|
with TemporaryDirectory(prefix='blender-codesign-') as temp_dir_str:
|
||||||
temp_dir = Path(temp_dir_str)
|
temp_dir = Path(temp_dir_str)
|
||||||
|
|
||||||
signed_archive_info = self.signed_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
unsigned_archive_info = self.unsigned_archive_info_for_request_id(
|
|
||||||
request_id)
|
|
||||||
|
|
||||||
logger_server.info('Extracting unsigned files from archive...')
|
logger_server.info('Extracting unsigned files from archive...')
|
||||||
extract_files(
|
extract_files(
|
||||||
archive_filepath=unsigned_archive_info.archive_filepath,
|
archive_filepath=self.unsigned_archive_info.archive_filepath,
|
||||||
extraction_dir=temp_dir)
|
extraction_dir=temp_dir)
|
||||||
|
|
||||||
logger_server.info('Collecting all files which needs signing...')
|
logger_server.info('Collecting all files which needs signing...')
|
||||||
@@ -400,11 +374,11 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
|
|
||||||
logger_server.info('Packing signed files...')
|
logger_server.info('Packing signed files...')
|
||||||
pack_files(files=files,
|
pack_files(files=files,
|
||||||
archive_filepath=signed_archive_info.archive_filepath)
|
archive_filepath=self.signed_archive_info.archive_filepath)
|
||||||
signed_archive_info.tag_ready()
|
self.signed_archive_info.tag_ready()
|
||||||
|
|
||||||
logger_server.info('Removing signing request...')
|
logger_server.info('Removing signing request...')
|
||||||
unsigned_archive_info.clean()
|
self.unsigned_archive_info.clean()
|
||||||
|
|
||||||
logger_server.info('Signing is complete.')
|
logger_server.info('Signing is complete.')
|
||||||
|
|
||||||
@@ -415,11 +389,11 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
|
|||||||
while True:
|
while True:
|
||||||
logger_server.info('Waiting for the signing request in %s...',
|
logger_server.info('Waiting for the signing request in %s...',
|
||||||
self.unsigned_storage_dir)
|
self.unsigned_storage_dir)
|
||||||
request_id = self.wait_for_sign_request()
|
self.wait_for_sign_request()
|
||||||
|
|
||||||
logger_server.info(
|
logger_server.info(
|
||||||
f'Beging signign procedure for request ID {request_id}.')
|
'Got signing request, beging signign procedure.')
|
||||||
self.run_signing_pipeline(request_id)
|
self.run_signing_pipeline()
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
# Command executing.
|
# Command executing.
|
||||||
|
@@ -30,7 +30,7 @@ from tempfile import TemporaryDirectory, NamedTemporaryFile
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
BUILDBOT_DIRECTORY = Path(__file__).absolute().parent
|
BUILDBOT_DIRECTORY = Path(__file__).absolute().parent
|
||||||
CODESIGN_SCRIPT = BUILDBOT_DIRECTORY / 'worker_codesign.py'
|
CODESIGN_SCRIPT = BUILDBOT_DIRECTORY / 'slave_codesign.py'
|
||||||
BLENDER_GIT_ROOT_DIRECTORY = BUILDBOT_DIRECTORY.parent.parent
|
BLENDER_GIT_ROOT_DIRECTORY = BUILDBOT_DIRECTORY.parent.parent
|
||||||
DARWIN_DIRECTORY = BLENDER_GIT_ROOT_DIRECTORY / 'release' / 'darwin'
|
DARWIN_DIRECTORY = BLENDER_GIT_ROOT_DIRECTORY / 'release' / 'darwin'
|
||||||
|
|
@@ -33,7 +33,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/worker_codesign.py"
|
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/slave_codesign.py"
|
||||||
"${CMAKE_INSTALL_PREFIX}"
|
"${CMAKE_INSTALL_PREFIX}"
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||||
RESULT_VARIABLE exit_code
|
RESULT_VARIABLE exit_code
|
@@ -25,7 +25,7 @@ import buildbot_utils
|
|||||||
|
|
||||||
def get_cmake_options(builder):
|
def get_cmake_options(builder):
|
||||||
post_install_script = os.path.join(
|
post_install_script = os.path.join(
|
||||||
builder.blender_dir, 'build_files', 'buildbot', 'worker_codesign.cmake')
|
builder.blender_dir, 'build_files', 'buildbot', 'slave_codesign.cmake')
|
||||||
|
|
||||||
config_file = "build_files/cmake/config/blender_release.cmake"
|
config_file = "build_files/cmake/config/blender_release.cmake"
|
||||||
options = ['-DCMAKE_BUILD_TYPE:STRING=Release',
|
options = ['-DCMAKE_BUILD_TYPE:STRING=Release',
|
||||||
@@ -35,7 +35,7 @@ def get_cmake_options(builder):
|
|||||||
options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
|
options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
|
||||||
options.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9')
|
options.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9')
|
||||||
elif builder.platform == 'win':
|
elif builder.platform == 'win':
|
||||||
options.extend(['-G', 'Visual Studio 16 2019', '-A', 'x64'])
|
options.extend(['-G', 'Visual Studio 15 2017 Win64'])
|
||||||
options.extend(['-DPOSTINSTALL_SCRIPT:PATH=' + post_install_script])
|
options.extend(['-DPOSTINSTALL_SCRIPT:PATH=' + post_install_script])
|
||||||
elif builder.platform == 'linux':
|
elif builder.platform == 'linux':
|
||||||
config_file = "build_files/buildbot/config/blender_linux.cmake"
|
config_file = "build_files/buildbot/config/blender_linux.cmake"
|
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
# <pep8 compliant>
|
# <pep8 compliant>
|
||||||
|
|
||||||
# Runs on buildbot worker, creating a release package using the build
|
# Runs on buildbot slave, creating a release package using the build
|
||||||
# system and zipping it into buildbot_upload.zip. This is then uploaded
|
# system and zipping it into buildbot_upload.zip. This is then uploaded
|
||||||
# to the master in the next buildbot step.
|
# to the master in the next buildbot step.
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ def pack_mac(builder):
|
|||||||
|
|
||||||
release_dir = os.path.join(builder.blender_dir, 'release', 'darwin')
|
release_dir = os.path.join(builder.blender_dir, 'release', 'darwin')
|
||||||
buildbot_dir = os.path.join(builder.blender_dir, 'build_files', 'buildbot')
|
buildbot_dir = os.path.join(builder.blender_dir, 'build_files', 'buildbot')
|
||||||
bundle_script = os.path.join(buildbot_dir, 'worker_bundle_dmg.py')
|
bundle_script = os.path.join(buildbot_dir, 'slave_bundle_dmg.py')
|
||||||
|
|
||||||
command = [bundle_script]
|
command = [bundle_script]
|
||||||
command += ['--dmg', package_filepath]
|
command += ['--dmg', package_filepath]
|
||||||
@@ -167,7 +167,7 @@ def pack_linux(builder):
|
|||||||
buildbot_utils.call(builder.command_prefix + ['strip', '--strip-all', blender_executable])
|
buildbot_utils.call(builder.command_prefix + ['strip', '--strip-all', blender_executable])
|
||||||
|
|
||||||
print("Stripping python...")
|
print("Stripping python...")
|
||||||
py_target = os.path.join(builder.install_dir, info.short_version)
|
py_target = os.path.join(builder.install_dir, info.version)
|
||||||
buildbot_utils.call(builder.command_prefix + ['find', py_target, '-iname', '*.so', '-exec', 'strip', '-s', '{}', ';'])
|
buildbot_utils.call(builder.command_prefix + ['find', py_target, '-iname', '*.so', '-exec', 'strip', '-s', '{}', ';'])
|
||||||
|
|
||||||
# Construct package name
|
# Construct package name
|
37
build_files/buildbot/slave_rsync.py
Normal file
37
build_files/buildbot/slave_rsync.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# ##### 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 #####
|
||||||
|
|
||||||
|
# <pep8 compliant>
|
||||||
|
|
||||||
|
# Runs on buildbot slave, rsync zip directly to buildbot server rather
|
||||||
|
# than using upload which is much slower
|
||||||
|
|
||||||
|
import buildbot_utils
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
builder = buildbot_utils.create_builder_from_arguments()
|
||||||
|
|
||||||
|
# rsync, this assumes ssh keys are setup so no password is needed
|
||||||
|
local_zip = "buildbot_upload.zip"
|
||||||
|
remote_folder = "builder.blender.org:/data/buildbot-master/uploaded/"
|
||||||
|
remote_zip = remote_folder + "buildbot_upload_" + builder.name + ".zip"
|
||||||
|
|
||||||
|
command = ["rsync", "-avz", local_zip, remote_zip]
|
||||||
|
buildbot_utils.call(command)
|
@@ -1,104 +0,0 @@
|
|||||||
# - Find clang-tidy executable
|
|
||||||
#
|
|
||||||
# Find the native clang-tidy executable
|
|
||||||
#
|
|
||||||
# This module defines
|
|
||||||
# CLANG_TIDY_EXECUTABLE, the ful lpath to clang-tidy executable
|
|
||||||
#
|
|
||||||
# CLANG_TIDY_VERSION, the full version of the clang-tidy in the
|
|
||||||
# major,minor.patch format
|
|
||||||
#
|
|
||||||
# CLANG_TIDY_VERSION_MAJOR,
|
|
||||||
# CLANG_TIDY_VERSION_MINOR,
|
|
||||||
# CLANG_TIDY_VERSION_PATCH, individual components of the clang-tidy version.
|
|
||||||
#
|
|
||||||
# CLANG_TIDY_FOUND, If false, do not try to use Eigen3.
|
|
||||||
|
|
||||||
#=============================================================================
|
|
||||||
# Copyright 2020 Blender Foundation.
|
|
||||||
#
|
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
|
||||||
# see accompanying file Copyright.txt for details.
|
|
||||||
#
|
|
||||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
||||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
# See the License for more information.
|
|
||||||
#=============================================================================
|
|
||||||
|
|
||||||
# If CLANG_TIDY_ROOT_DIR was defined in the environment, use it.
|
|
||||||
if(NOT CLANG_TIDY_ROOT_DIR AND NOT $ENV{CLANG_TIDY_ROOT_DIR} STREQUAL "")
|
|
||||||
set(CLANG_TIDY_ROOT_DIR $ENV{CLANG_TIDY_ROOT_DIR})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_clang_tidy_SEARCH_DIRS
|
|
||||||
${CLANG_TIDY_ROOT_DIR}
|
|
||||||
/usr/local/bin
|
|
||||||
)
|
|
||||||
|
|
||||||
# TODO(sergey): Find more reliable way of finding the latest clang-tidy.
|
|
||||||
find_program(CLANG_TIDY_EXECUTABLE
|
|
||||||
NAMES
|
|
||||||
clang-tidy-10
|
|
||||||
clang-tidy-9
|
|
||||||
clang-tidy-8
|
|
||||||
clang-tidy-7
|
|
||||||
clang-tidy
|
|
||||||
HINTS
|
|
||||||
${_clang_tidy_SEARCH_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CLANG_TIDY_EXECUTABLE)
|
|
||||||
# Mark clang-tidy as found.
|
|
||||||
set(CLANG_TIDY_FOUND TRUE)
|
|
||||||
|
|
||||||
# Setup fallback values.
|
|
||||||
set(CLANG_TIDY_VERSION_MAJOR 0)
|
|
||||||
set(CLANG_TIDY_VERSION_MINOR 0)
|
|
||||||
set(CLANG_TIDY_VERSION_PATCH 0)
|
|
||||||
|
|
||||||
# Get version from the output.
|
|
||||||
#
|
|
||||||
# NOTE: Don't use name of the executable file since that only includes a
|
|
||||||
# major version. Also, even the major version might be missing in the
|
|
||||||
# executable name.
|
|
||||||
execute_process(COMMAND ${CLANG_TIDY_EXECUTABLE} -version
|
|
||||||
OUTPUT_VARIABLE CLANG_TIDY_VERSION_RAW
|
|
||||||
ERROR_QUIET
|
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
|
|
||||||
# Parse parts.
|
|
||||||
if(CLANG_TIDY_VERSION_RAW MATCHES "LLVM version .*")
|
|
||||||
# Strip the LLVM prefix and get list of individual version components.
|
|
||||||
string(REGEX REPLACE
|
|
||||||
".*LLVM version ([.0-9]+).*" "\\1"
|
|
||||||
CLANG_SEMANTIC_VERSION "${CLANG_TIDY_VERSION_RAW}")
|
|
||||||
string(REPLACE "." ";" CLANG_VERSION_PARTS "${CLANG_SEMANTIC_VERSION}")
|
|
||||||
list(LENGTH CLANG_VERSION_PARTS NUM_CLANG_TIDY_VERSION_PARTS)
|
|
||||||
|
|
||||||
# Extract components into corresponding variables.
|
|
||||||
if(NUM_CLANG_TIDY_VERSION_PARTS GREATER 0)
|
|
||||||
list(GET CLANG_VERSION_PARTS 0 CLANG_TIDY_VERSION_MAJOR)
|
|
||||||
endif()
|
|
||||||
if(NUM_CLANG_TIDY_VERSION_PARTS GREATER 1)
|
|
||||||
list(GET CLANG_VERSION_PARTS 1 CLANG_TIDY_VERSION_MINOR)
|
|
||||||
endif()
|
|
||||||
if(NUM_CLANG_TIDY_VERSION_PARTS GREATER 2)
|
|
||||||
list(GET CLANG_VERSION_PARTS 2 CLANG_TIDY_VERSION_PATCH)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Unset temp variables.
|
|
||||||
unset(NUM_CLANG_TIDY_VERSION_PARTS)
|
|
||||||
unset(CLANG_SEMANTIC_VERSION)
|
|
||||||
unset(CLANG_VERSION_PARTS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Construct full semantic version.
|
|
||||||
set(CLANG_TIDY_VERSION "${CLANG_TIDY_VERSION_MAJOR}.\
|
|
||||||
${CLANG_TIDY_VERSION_MINOR}.\
|
|
||||||
${CLANG_TIDY_VERSION_PATCH}")
|
|
||||||
unset(CLANG_TIDY_VERSION_RAW)
|
|
||||||
|
|
||||||
message(STATUS "Found clang-tidy ${CLANG_TIDY_EXECUTABLE} (${CLANG_TIDY_VERSION})")
|
|
||||||
else()
|
|
||||||
set(CLANG_TIDY_FOUND FALSE)
|
|
||||||
endif()
|
|
@@ -82,7 +82,7 @@ FIND_LIBRARY(EMBREE_LIBRARY
|
|||||||
# handle the QUIETLY and REQUIRED arguments and set EMBREE_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set EMBREE_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Embree DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE DEFAULT_MSG
|
||||||
_embree_LIBRARIES EMBREE_INCLUDE_DIR)
|
_embree_LIBRARIES EMBREE_INCLUDE_DIR)
|
||||||
|
|
||||||
IF(EMBREE_FOUND)
|
IF(EMBREE_FOUND)
|
||||||
|
65
build_files/cmake/Modules/FindHDF5.cmake
Normal file
65
build_files/cmake/Modules/FindHDF5.cmake
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
# - Find HDF5 library
|
||||||
|
# Find the native HDF5 includes and libraries
|
||||||
|
# This module defines
|
||||||
|
# HDF5_INCLUDE_DIRS, where to find hdf5.h, Set when HDF5_INCLUDE_DIR is found.
|
||||||
|
# HDF5_LIBRARIES, libraries to link against to use HDF5.
|
||||||
|
# HDF5_ROOT_DIR, The base directory to search for HDF5.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# HDF5_FOUND, If false, do not try to use HDF5.
|
||||||
|
#
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2016 Blender Foundation.
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
# see accompanying file Copyright.txt for details.
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
# If HDF5_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT HDF5_ROOT_DIR AND NOT $ENV{HDF5_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_hdf5_SEARCH_DIRS
|
||||||
|
${HDF5_ROOT_DIR}
|
||||||
|
/opt/lib/hdf5
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(HDF5_LIBRARY
|
||||||
|
NAMES
|
||||||
|
hdf5
|
||||||
|
HINTS
|
||||||
|
${_hdf5_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(HDF5_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
hdf5.h
|
||||||
|
HINTS
|
||||||
|
${_hdf5_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set HDF5_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(HDF5 DEFAULT_MSG HDF5_LIBRARY HDF5_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(HDF5_FOUND)
|
||||||
|
SET(HDF5_LIBRARIES ${HDF5_LIBRARY})
|
||||||
|
SET(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
|
||||||
|
ENDIF(HDF5_FOUND)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
HDF5_INCLUDE_DIR
|
||||||
|
HDF5_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
UNSET(_hdf5_SEARCH_DIRS)
|
@@ -48,14 +48,7 @@ SET(_openimagedenoise_FIND_COMPONENTS
|
|||||||
# These are needed when building statically
|
# These are needed when building statically
|
||||||
SET(_openimagedenoise_FIND_STATIC_COMPONENTS
|
SET(_openimagedenoise_FIND_STATIC_COMPONENTS
|
||||||
common
|
common
|
||||||
|
|
||||||
# These additional library names change between versions, we list all of them
|
|
||||||
# so builds work with multiple versions. Missing libraries are skipped.
|
|
||||||
dnnl_cpu
|
|
||||||
dnnl_common
|
|
||||||
dnnl_cpu # Second time because of circular dependency
|
|
||||||
mkldnn
|
mkldnn
|
||||||
dnnl
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(_openimagedenoise_LIBRARIES)
|
SET(_openimagedenoise_LIBRARIES)
|
||||||
|
@@ -37,11 +37,6 @@ macro(BLENDER_SRC_GTEST_EX)
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(MANIFEST "${CMAKE_BINARY_DIR}/tests.exe.manifest")
|
set(MANIFEST "${CMAKE_BINARY_DIR}/tests.exe.manifest")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_definitions(-DBLENDER_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
|
|
||||||
add_definitions(${GFLAGS_DEFINES})
|
|
||||||
add_definitions(${GLOG_DEFINES})
|
|
||||||
|
|
||||||
add_executable(${TARGET_NAME} ${ARG_SRC} ${MANIFEST})
|
add_executable(${TARGET_NAME} ${ARG_SRC} ${MANIFEST})
|
||||||
target_include_directories(${TARGET_NAME} PUBLIC "${TEST_INC}")
|
target_include_directories(${TARGET_NAME} PUBLIC "${TEST_INC}")
|
||||||
target_include_directories(${TARGET_NAME} SYSTEM PUBLIC "${TEST_INC_SYS}")
|
target_include_directories(${TARGET_NAME} SYSTEM PUBLIC "${TEST_INC_SYS}")
|
||||||
|
@@ -11,7 +11,6 @@ set(WITH_CODEC_AVI ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE)
|
set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE)
|
set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_EMBREE ON CACHE BOOL "" FORCE)
|
|
||||||
set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_DRACO ON CACHE BOOL "" FORCE)
|
set(WITH_DRACO ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
||||||
|
@@ -15,7 +15,6 @@ set(WITH_CODEC_AVI OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_CODEC_FFMPEG OFF CACHE BOOL "" FORCE)
|
set(WITH_CODEC_FFMPEG OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_CODEC_SNDFILE OFF CACHE BOOL "" FORCE)
|
set(WITH_CODEC_SNDFILE OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES OFF CACHE BOOL "" FORCE)
|
set(WITH_CYCLES OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_EMBREE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(WITH_CYCLES_OSL OFF CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_OSL OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_DEVICE_OPTIX OFF CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_DEVICE_OPTIX OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_DRACO OFF CACHE BOOL "" FORCE)
|
set(WITH_DRACO OFF CACHE BOOL "" FORCE)
|
||||||
@@ -53,7 +52,6 @@ set(WITH_OPENVDB OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_QUADRIFLOW OFF CACHE BOOL "" FORCE)
|
set(WITH_QUADRIFLOW OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_SDL OFF CACHE BOOL "" FORCE)
|
set(WITH_SDL OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_TBB OFF CACHE BOOL "" FORCE)
|
set(WITH_TBB OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_USD OFF CACHE BOOL "" FORCE)
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
set(WITH_GHOST_XDND OFF CACHE BOOL "" FORCE)
|
set(WITH_GHOST_XDND OFF CACHE BOOL "" FORCE)
|
||||||
|
@@ -12,7 +12,6 @@ set(WITH_CODEC_AVI ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE)
|
set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE)
|
set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_EMBREE ON CACHE BOOL "" FORCE)
|
|
||||||
set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_DRACO ON CACHE BOOL "" FORCE)
|
set(WITH_DRACO ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
||||||
@@ -53,7 +52,7 @@ set(WITH_USD ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
|
||||||
set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm_75;compute_75 CACHE STRING "" FORCE)
|
set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm_75 CACHE STRING "" FORCE)
|
||||||
set(WITH_CYCLES_DEVICE_OPTIX ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_DEVICE_OPTIX ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# platform dependent options
|
# platform dependent options
|
||||||
|
@@ -169,26 +169,6 @@ function(blender_include_dirs_sys
|
|||||||
include_directories(SYSTEM ${_ALL_INCS})
|
include_directories(SYSTEM ${_ALL_INCS})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Set include paths for header files included with "*.h" syntax.
|
|
||||||
# This enables auto-complete suggestions for user header files on Xcode.
|
|
||||||
# Build process is not affected since the include paths are the same
|
|
||||||
# as in HEADER_SEARCH_PATHS.
|
|
||||||
function(blender_user_header_search_paths
|
|
||||||
name
|
|
||||||
includes
|
|
||||||
)
|
|
||||||
|
|
||||||
if(XCODE)
|
|
||||||
set(_ALL_INCS "")
|
|
||||||
foreach(_INC ${includes})
|
|
||||||
get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
|
|
||||||
# _ALL_INCS is a space-separated string of file paths in quotes.
|
|
||||||
set(_ALL_INCS "${_ALL_INCS} \"${_ABS_INC}\"")
|
|
||||||
endforeach()
|
|
||||||
set_target_properties(${name} PROPERTIES XCODE_ATTRIBUTE_USER_HEADER_SEARCH_PATHS "${_ALL_INCS}")
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(blender_source_group
|
function(blender_source_group
|
||||||
name
|
name
|
||||||
sources
|
sources
|
||||||
@@ -337,7 +317,6 @@ function(blender_add_lib__impl
|
|||||||
# works fine without having the includes
|
# works fine without having the includes
|
||||||
# listed is helpful for IDE's (QtCreator/MSVC)
|
# listed is helpful for IDE's (QtCreator/MSVC)
|
||||||
blender_source_group("${name}" "${sources}")
|
blender_source_group("${name}" "${sources}")
|
||||||
blender_user_header_search_paths("${name}" "${includes}")
|
|
||||||
|
|
||||||
list_assert_duplicates("${sources}")
|
list_assert_duplicates("${sources}")
|
||||||
list_assert_duplicates("${includes}")
|
list_assert_duplicates("${includes}")
|
||||||
@@ -375,42 +354,6 @@ function(blender_add_lib
|
|||||||
set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name})
|
set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# blender_add_test_lib() is used to define a test library. It is intended to be
|
|
||||||
# called in tandem with blender_add_lib(). The test library will be linked into
|
|
||||||
# the bf_gtest_runner_test executable (see tests/gtests/CMakeLists.txt).
|
|
||||||
function(blender_add_test_lib
|
|
||||||
name
|
|
||||||
sources
|
|
||||||
includes
|
|
||||||
includes_sys
|
|
||||||
library_deps
|
|
||||||
)
|
|
||||||
|
|
||||||
add_cc_flags_custom_test(${name} PARENT_SCOPE)
|
|
||||||
|
|
||||||
# Otherwise external projects will produce warnings that we cannot fix.
|
|
||||||
remove_strict_flags()
|
|
||||||
|
|
||||||
# This duplicates logic that's also in GTestTesting.cmake, macro BLENDER_SRC_GTEST_EX.
|
|
||||||
# TODO(Sybren): deduplicate after the general approach in D7649 has been approved.
|
|
||||||
LIST(APPEND includes
|
|
||||||
${CMAKE_SOURCE_DIR}/tests/gtests
|
|
||||||
)
|
|
||||||
LIST(APPEND includes_sys
|
|
||||||
${GLOG_INCLUDE_DIRS}
|
|
||||||
${GFLAGS_INCLUDE_DIRS}
|
|
||||||
${CMAKE_SOURCE_DIR}/extern/gtest/include
|
|
||||||
${CMAKE_SOURCE_DIR}/extern/gmock/include
|
|
||||||
)
|
|
||||||
add_definitions(-DBLENDER_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
|
|
||||||
add_definitions(${GFLAGS_DEFINES})
|
|
||||||
add_definitions(${GLOG_DEFINES})
|
|
||||||
|
|
||||||
blender_add_lib__impl(${name} "${sources}" "${includes}" "${includes_sys}" "${library_deps}")
|
|
||||||
|
|
||||||
set_property(GLOBAL APPEND PROPERTY BLENDER_TEST_LIBS ${name})
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# Ninja only: assign 'heavy pool' to some targets that are especially RAM-consuming to build.
|
# Ninja only: assign 'heavy pool' to some targets that are especially RAM-consuming to build.
|
||||||
function(setup_heavy_lib_pool)
|
function(setup_heavy_lib_pool)
|
||||||
if(WITH_NINJA_POOL_JOBS AND NINJA_MAX_NUM_PARALLEL_COMPILE_HEAVY_JOBS)
|
if(WITH_NINJA_POOL_JOBS AND NINJA_MAX_NUM_PARALLEL_COMPILE_HEAVY_JOBS)
|
||||||
@@ -494,6 +437,7 @@ function(SETUP_LIBDIRS)
|
|||||||
|
|
||||||
if(WITH_ALEMBIC)
|
if(WITH_ALEMBIC)
|
||||||
link_directories(${ALEMBIC_LIBPATH})
|
link_directories(${ALEMBIC_LIBPATH})
|
||||||
|
link_directories(${HDF5_LIBPATH})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GHOST_WAYLAND)
|
if(WITH_GHOST_WAYLAND)
|
||||||
@@ -812,7 +756,8 @@ function(get_blender_version)
|
|||||||
# - BLENDER_VERSION (major.minor)
|
# - BLENDER_VERSION (major.minor)
|
||||||
# - BLENDER_VERSION_MAJOR
|
# - BLENDER_VERSION_MAJOR
|
||||||
# - BLENDER_VERSION_MINOR
|
# - BLENDER_VERSION_MINOR
|
||||||
# - BLENDER_VERSION_PATCH
|
# - BLENDER_SUBVERSION (used for internal versioning mainly)
|
||||||
|
# - BLENDER_VERSION_CHAR (a, b, c, ...or empty string)
|
||||||
# - BLENDER_VERSION_CYCLE (alpha, beta, rc, release)
|
# - BLENDER_VERSION_CYCLE (alpha, beta, rc, release)
|
||||||
|
|
||||||
# So cmake depends on BKE_blender.h, beware of inf-loops!
|
# So cmake depends on BKE_blender.h, beware of inf-loops!
|
||||||
@@ -822,15 +767,25 @@ function(get_blender_version)
|
|||||||
file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
|
file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
|
||||||
|
|
||||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}")
|
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}")
|
||||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_PATCH[ \t]+([0-9]+).*" "\\1" _out_version_patch "${_contents}")
|
string(REGEX REPLACE ".*#define[ \t]+BLENDER_SUBVERSION[ \t]+([0-9]+).*" "\\1" _out_subversion "${_contents}")
|
||||||
|
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CHAR[ \t]+([a-z]+).*" "\\1" _out_version_char "${_contents}")
|
||||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CYCLE[ \t]+([a-z]+).*" "\\1" _out_version_cycle "${_contents}")
|
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CYCLE[ \t]+([a-z]+).*" "\\1" _out_version_cycle "${_contents}")
|
||||||
|
|
||||||
if(NOT ${_out_version} MATCHES "[0-9]+")
|
if(NOT ${_out_version} MATCHES "[0-9]+")
|
||||||
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION")
|
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT ${_out_version_patch} MATCHES "[0-9]+")
|
if(NOT ${_out_subversion} MATCHES "[0-9]+")
|
||||||
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_PATCH")
|
message(FATAL_ERROR "Version parsing failed for BLENDER_SUBVERSION")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# clumsy regex, only single char are ok but it could be unset
|
||||||
|
|
||||||
|
string(LENGTH "${_out_version_char}" _out_version_char_len)
|
||||||
|
if(NOT _out_version_char_len EQUAL 1)
|
||||||
|
set(_out_version_char "")
|
||||||
|
elseif(NOT ${_out_version_char} MATCHES "[a-z]+")
|
||||||
|
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CHAR")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT ${_out_version_cycle} MATCHES "[a-z]+")
|
if(NOT ${_out_version_cycle} MATCHES "[a-z]+")
|
||||||
@@ -840,11 +795,23 @@ function(get_blender_version)
|
|||||||
math(EXPR _out_version_major "${_out_version} / 100")
|
math(EXPR _out_version_major "${_out_version} / 100")
|
||||||
math(EXPR _out_version_minor "${_out_version} % 100")
|
math(EXPR _out_version_minor "${_out_version} % 100")
|
||||||
|
|
||||||
|
# for packaging, alpha to numbers
|
||||||
|
string(COMPARE EQUAL "${_out_version_char}" "" _out_version_char_empty)
|
||||||
|
if(${_out_version_char_empty})
|
||||||
|
set(_out_version_char_index "0")
|
||||||
|
else()
|
||||||
|
set(_char_ls a b c d e f g h i j k l m n o p q r s t u v w x y z)
|
||||||
|
list(FIND _char_ls ${_out_version_char} _out_version_char_index)
|
||||||
|
math(EXPR _out_version_char_index "${_out_version_char_index} + 1")
|
||||||
|
endif()
|
||||||
|
|
||||||
# output vars
|
# output vars
|
||||||
set(BLENDER_VERSION "${_out_version_major}.${_out_version_minor}" PARENT_SCOPE)
|
set(BLENDER_VERSION "${_out_version_major}.${_out_version_minor}" PARENT_SCOPE)
|
||||||
set(BLENDER_VERSION_MAJOR "${_out_version_major}" PARENT_SCOPE)
|
set(BLENDER_VERSION_MAJOR "${_out_version_major}" PARENT_SCOPE)
|
||||||
set(BLENDER_VERSION_MINOR "${_out_version_minor}" PARENT_SCOPE)
|
set(BLENDER_VERSION_MINOR "${_out_version_minor}" PARENT_SCOPE)
|
||||||
set(BLENDER_VERSION_PATCH "${_out_version_patch}" PARENT_SCOPE)
|
set(BLENDER_SUBVERSION "${_out_subversion}" PARENT_SCOPE)
|
||||||
|
set(BLENDER_VERSION_CHAR "${_out_version_char}" PARENT_SCOPE)
|
||||||
|
set(BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index}" PARENT_SCOPE)
|
||||||
set(BLENDER_VERSION_CYCLE "${_out_version_cycle}" PARENT_SCOPE)
|
set(BLENDER_VERSION_CYCLE "${_out_version_cycle}" PARENT_SCOPE)
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@@ -7,7 +7,7 @@ set(PROJECT_VENDOR "Blender Foundation")
|
|||||||
|
|
||||||
set(MAJOR_VERSION ${BLENDER_VERSION_MAJOR})
|
set(MAJOR_VERSION ${BLENDER_VERSION_MAJOR})
|
||||||
set(MINOR_VERSION ${BLENDER_VERSION_MINOR})
|
set(MINOR_VERSION ${BLENDER_VERSION_MINOR})
|
||||||
set(PATCH_VERSION ${BLENDER_VERSION_PATCH})
|
set(PATCH_VERSION ${BLENDER_VERSION_CHAR_INDEX})
|
||||||
|
|
||||||
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
|
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
|
||||||
set(CPACK_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})
|
set(CPACK_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})
|
||||||
|
@@ -20,11 +20,7 @@
|
|||||||
|
|
||||||
# Libraries configuration for Apple.
|
# Libraries configuration for Apple.
|
||||||
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
set(MACOSX_DEPLOYMENT_TARGET "10.11")
|
||||||
set(MACOSX_DEPLOYMENT_TARGET 11.00)
|
|
||||||
else()
|
|
||||||
set(MACOSX_DEPLOYMENT_TARGET 10.13)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
macro(find_package_wrapper)
|
macro(find_package_wrapper)
|
||||||
# do nothing, just satisfy the macro
|
# do nothing, just satisfy the macro
|
||||||
@@ -382,12 +378,6 @@ if(WITH_CYCLES_OSL)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(WITH_CYCLES_EMBREE OFF)
|
|
||||||
set(WITH_OPENIMAGEDENOISE OFF)
|
|
||||||
set(WITH_CPU_SSE OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_CYCLES_EMBREE)
|
if(WITH_CYCLES_EMBREE)
|
||||||
find_package(Embree 3.8.0 REQUIRED)
|
find_package(Embree 3.8.0 REQUIRED)
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Xlinker -stack_size -Xlinker 0x100000")
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Xlinker -stack_size -Xlinker 0x100000")
|
||||||
@@ -449,8 +439,8 @@ if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR CMAKE_OSX_ARCHITECTURES MATCHES "
|
|||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ftree-vectorize -fvariable-expansion-in-unroller")
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ftree-vectorize -fvariable-expansion-in-unroller")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-O2 -mdynamic-no-pic -fno-strict-aliasing")
|
set(CMAKE_C_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic -fno-strict-aliasing")
|
set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
|
if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
|
||||||
|
@@ -21,10 +21,8 @@
|
|||||||
# Xcode and system configuration for Apple.
|
# Xcode and system configuration for Apple.
|
||||||
|
|
||||||
if(NOT CMAKE_OSX_ARCHITECTURES)
|
if(NOT CMAKE_OSX_ARCHITECTURES)
|
||||||
execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING
|
||||||
message(STATUS "Detected native architecture ${ARCHITECTURE}.")
|
"Choose the architecture you want to build Blender for: i386, x86_64 or ppc"
|
||||||
set(CMAKE_OSX_ARCHITECTURES ${ARCHITECTURE} CACHE STRING
|
|
||||||
"Choose the architecture you want to build Blender for: arm64 or x86_64"
|
|
||||||
FORCE)
|
FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -67,9 +65,13 @@ endif()
|
|||||||
|
|
||||||
message(STATUS "Detected OS X ${OSX_SYSTEM} and Xcode ${XCODE_VERSION} at ${XCODE_BUNDLE}")
|
message(STATUS "Detected OS X ${OSX_SYSTEM} and Xcode ${XCODE_VERSION} at ${XCODE_BUNDLE}")
|
||||||
|
|
||||||
# Require a relatively recent Xcode version.
|
# Older Xcode versions had different approach to the directory hiearchy.
|
||||||
if(${XCODE_VERSION} VERSION_LESS 10.0)
|
# Require newer Xcode which is also have better chances of being able to compile with the
|
||||||
message(FATAL_ERROR "Only Xcode version 10.0 and newer is supported")
|
# required deployment target.
|
||||||
|
#
|
||||||
|
# NOTE: Xcode version 8.2 is the latest one which runs on macOS 10.11.
|
||||||
|
if(${XCODE_VERSION} VERSION_LESS 8.2)
|
||||||
|
message(FATAL_ERROR "Only Xcode version 8.2 and newer is supported")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# note: xcode-select path could be ambiguous,
|
# note: xcode-select path could be ambiguous,
|
||||||
@@ -131,21 +133,14 @@ if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
|||||||
endif()
|
endif()
|
||||||
unset(OSX_SDKROOT)
|
unset(OSX_SDKROOT)
|
||||||
|
|
||||||
|
# 10.11 is our min. target, if you use higher sdk, weak linking happens
|
||||||
# 10.13 is our min. target, if you use higher sdk, weak linking happens
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(OSX_MIN_DEPLOYMENT_TARGET 11.00)
|
|
||||||
else()
|
|
||||||
set(OSX_MIN_DEPLOYMENT_TARGET 10.13)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS ${OSX_MIN_DEPLOYMENT_TARGET})
|
if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.11)
|
||||||
message(STATUS "Setting deployment target to ${OSX_MIN_DEPLOYMENT_TARGET}, lower versions are not supported")
|
message(STATUS "Setting deployment target to 10.11, lower versions are not supported")
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "${OSX_MIN_DEPLOYMENT_TARGET}" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.11" CACHE STRING "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "${OSX_MIN_DEPLOYMENT_TARGET}" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.11" CACHE STRING "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||||
|
@@ -36,11 +36,6 @@ if(NOT DEFINED LIBDIR)
|
|||||||
elseif(EXISTS ${LIBDIR_CENTOS7_ABI})
|
elseif(EXISTS ${LIBDIR_CENTOS7_ABI})
|
||||||
set(LIBDIR ${LIBDIR_CENTOS7_ABI})
|
set(LIBDIR ${LIBDIR_CENTOS7_ABI})
|
||||||
set(WITH_CXX11_ABI OFF)
|
set(WITH_CXX11_ABI OFF)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC AND
|
|
||||||
CMAKE_C_COMPILER_VERSION VERSION_LESS 9.3)
|
|
||||||
message(FATAL_ERROR "GCC version must be at least 9.3 for precompiled libraries, found ${CMAKE_C_COMPILER_VERSION}")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Avoid namespace pollustion.
|
# Avoid namespace pollustion.
|
||||||
@@ -270,8 +265,14 @@ endif()
|
|||||||
if(WITH_ALEMBIC)
|
if(WITH_ALEMBIC)
|
||||||
find_package_wrapper(Alembic)
|
find_package_wrapper(Alembic)
|
||||||
|
|
||||||
if(NOT ALEMBIC_FOUND)
|
if(WITH_ALEMBIC_HDF5)
|
||||||
|
set(HDF5_ROOT_DIR ${LIBDIR}/hdf5)
|
||||||
|
find_package_wrapper(HDF5)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND))
|
||||||
set(WITH_ALEMBIC OFF)
|
set(WITH_ALEMBIC OFF)
|
||||||
|
set(WITH_ALEMBIC_HDF5 OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -190,7 +190,7 @@ if(MSVC_VERSION GREATER 1914 AND NOT MSVC_CLANG)
|
|||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /JMC")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /JMC")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /SUBSYSTEM:CONSOLE /STACK:2097152")
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /SUBSYSTEM:CONSOLE /STACK:2097152 ")
|
||||||
set(PLATFORM_LINKFLAGS_RELEASE "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib")
|
set(PLATFORM_LINKFLAGS_RELEASE "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib")
|
||||||
set(PLATFORM_LINKFLAGS_DEBUG "${PLATFORM_LINKFLAGS_DEBUG} /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmtd.lib")
|
set(PLATFORM_LINKFLAGS_DEBUG "${PLATFORM_LINKFLAGS_DEBUG} /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmtd.lib")
|
||||||
|
|
||||||
@@ -478,7 +478,7 @@ if(WITH_OPENIMAGEIO)
|
|||||||
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
||||||
set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD")
|
set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD")
|
||||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||||
add_definitions(-DOIIO_STATIC_DEFINE)
|
add_definitions(-DOIIO_STATIC_BUILD)
|
||||||
add_definitions(-DOIIO_NO_SSE=1)
|
add_definitions(-DOIIO_NO_SSE=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -539,10 +539,10 @@ if(WITH_OPENIMAGEDENOISE)
|
|||||||
set(OPENIMAGEDENOISE_LIBRARIES
|
set(OPENIMAGEDENOISE_LIBRARIES
|
||||||
optimized ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise.lib
|
optimized ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise.lib
|
||||||
optimized ${OPENIMAGEDENOISE_LIBPATH}/common.lib
|
optimized ${OPENIMAGEDENOISE_LIBPATH}/common.lib
|
||||||
optimized ${OPENIMAGEDENOISE_LIBPATH}/dnnl.lib
|
optimized ${OPENIMAGEDENOISE_LIBPATH}/mkldnn.lib
|
||||||
debug ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise_d.lib
|
debug ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise_d.lib
|
||||||
debug ${OPENIMAGEDENOISE_LIBPATH}/common_d.lib
|
debug ${OPENIMAGEDENOISE_LIBPATH}/common_d.lib
|
||||||
debug ${OPENIMAGEDENOISE_LIBPATH}/dnnl_d.lib)
|
debug ${OPENIMAGEDENOISE_LIBPATH}/mkldnn_d.lib)
|
||||||
set(OPENIMAGEDENOISE_DEFINITIONS)
|
set(OPENIMAGEDENOISE_DEFINITIONS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -7,14 +7,15 @@ BASE_DIR="$PWD"
|
|||||||
|
|
||||||
blender_srcdir=$(dirname -- $0)/../..
|
blender_srcdir=$(dirname -- $0)/../..
|
||||||
blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||||
blender_version_patch=$(grep "BLENDER_VERSION_PATCH\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||||
blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||||
|
blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||||
|
|
||||||
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100).$blender_version_patch
|
|
||||||
if [ "$blender_version_cycle" = "release" ] ; then
|
if [ "$blender_version_cycle" = "release" ] ; then
|
||||||
|
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)$blender_version_char
|
||||||
SUBMODULE_EXCLUDE="^\(release/scripts/addons_contrib\)$"
|
SUBMODULE_EXCLUDE="^\(release/scripts/addons_contrib\)$"
|
||||||
else
|
else
|
||||||
VERSION=$VERSION-$blender_version_cycle
|
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)_$blender_subversion
|
||||||
SUBMODULE_EXCLUDE="^$" # dummy regex
|
SUBMODULE_EXCLUDE="^$" # dummy regex
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@@ -40,8 +40,7 @@ if make_utils.command_missing(git_command):
|
|||||||
|
|
||||||
# Test if we are building a specific release version.
|
# Test if we are building a specific release version.
|
||||||
branch = make_utils.git_branch(git_command)
|
branch = make_utils.git_branch(git_command)
|
||||||
tag = make_utils.git_tag(git_command)
|
release_version = make_utils.git_branch_release_version(branch)
|
||||||
release_version = make_utils.git_branch_release_version(branch, tag)
|
|
||||||
lib_tests_dirpath = os.path.join('..', 'lib', "tests")
|
lib_tests_dirpath = os.path.join('..', 'lib', "tests")
|
||||||
|
|
||||||
if not os.path.exists(lib_tests_dirpath):
|
if not os.path.exists(lib_tests_dirpath):
|
||||||
|
@@ -197,8 +197,7 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
# Test if we are building a specific release version.
|
# Test if we are building a specific release version.
|
||||||
branch = make_utils.git_branch(args.git_command)
|
branch = make_utils.git_branch(args.git_command)
|
||||||
tag = make_utils.git_tag(args.git_command)
|
release_version = make_utils.git_branch_release_version(branch)
|
||||||
release_version = make_utils.git_branch_release_version(branch, tag)
|
|
||||||
|
|
||||||
if not args.no_libraries:
|
if not args.no_libraries:
|
||||||
svn_update(args, release_version)
|
svn_update(args, release_version)
|
||||||
|
@@ -36,7 +36,7 @@ def check_output(cmd, exit_on_error=True):
|
|||||||
return output.strip()
|
return output.strip()
|
||||||
|
|
||||||
def git_branch(git_command):
|
def git_branch(git_command):
|
||||||
# Get current branch name.
|
# Test if we are building a specific release version.
|
||||||
try:
|
try:
|
||||||
branch = subprocess.check_output([git_command, "rev-parse", "--abbrev-ref", "HEAD"])
|
branch = subprocess.check_output([git_command, "rev-parse", "--abbrev-ref", "HEAD"])
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
@@ -45,23 +45,10 @@ def git_branch(git_command):
|
|||||||
|
|
||||||
return branch.strip().decode('utf8')
|
return branch.strip().decode('utf8')
|
||||||
|
|
||||||
def git_tag(git_command):
|
def git_branch_release_version(branch):
|
||||||
# Get current tag name.
|
|
||||||
try:
|
|
||||||
tag = subprocess.check_output([git_command, "describe", "--exact-match"], stderr=subprocess.STDOUT)
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
return None
|
|
||||||
|
|
||||||
return tag.strip().decode('utf8')
|
|
||||||
|
|
||||||
def git_branch_release_version(branch, tag):
|
|
||||||
release_version = re.search("^blender-v(.*)-release$", branch)
|
release_version = re.search("^blender-v(.*)-release$", branch)
|
||||||
if release_version:
|
if release_version:
|
||||||
release_version = release_version.group(1)
|
release_version = release_version.group(1)
|
||||||
elif tag:
|
|
||||||
release_version = re.search("^v([0-9]*\.[0-9]*).*", tag)
|
|
||||||
if release_version:
|
|
||||||
release_version = release_version.group(1)
|
|
||||||
return release_version
|
return release_version
|
||||||
|
|
||||||
def svn_libraries_base_url(release_version):
|
def svn_libraries_base_url(release_version):
|
||||||
|
@@ -38,7 +38,7 @@ PROJECT_NAME = Blender
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = "V2.91"
|
PROJECT_NUMBER = "V2.90"
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
@@ -119,24 +119,4 @@ Examples
|
|||||||
To try these examples, just copy them into Blenders text editor and execute them.
|
To try these examples, just copy them into Blenders text editor and execute them.
|
||||||
To keep the examples relatively small, they just register a draw function that can't easily be removed anymore.
|
To keep the examples relatively small, they just register a draw function that can't easily be removed anymore.
|
||||||
Blender has to be restarted in order to delete the draw handlers.
|
Blender has to be restarted in order to delete the draw handlers.
|
||||||
|
|
||||||
3D Lines with Single Color
|
|
||||||
--------------------------
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import bpy
|
|
||||||
import gpu
|
|
||||||
from gpu_extras.batch import batch_for_shader
|
|
||||||
|
|
||||||
coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)]
|
|
||||||
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
|
||||||
batch = batch_for_shader(shader, 'LINES', {"pos": coords})
|
|
||||||
|
|
||||||
|
|
||||||
def draw():
|
|
||||||
shader.bind()
|
|
||||||
shader.uniform_float("color", (1, 1, 0, 1))
|
|
||||||
batch.draw(shader)
|
|
||||||
|
|
||||||
|
|
||||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user