Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Herhoz <sebastian.herholz@intel.com>2022-09-21 18:41:41 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-09-27 00:40:33 +0300
commit66a863e30197990e20a1e9a45923af6331935b21 (patch)
tree36f7be56e9b4ab8a5bd5ceebcbeb93d71a4ee332 /build_files/build_environment
parentbcb7b119ae5240632b7f8b07f926c230f3c48daf (diff)
Build: add OpenPGL as to deps builds
Ref T92571, D15286
Diffstat (limited to 'build_files/build_environment')
-rw-r--r--build_files/build_environment/CMakeLists.txt1
-rw-r--r--build_files/build_environment/cmake/download.cmake1
-rw-r--r--build_files/build_environment/cmake/harvest.cmake3
-rw-r--r--build_files/build_environment/cmake/openpgl.cmake49
-rw-r--r--build_files/build_environment/cmake/versions.cmake7
5 files changed, 61 insertions, 0 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index ee8a9a26c53..8c427c63944 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -94,6 +94,7 @@ include(cmake/pugixml.cmake)
include(cmake/ispc.cmake)
include(cmake/openimagedenoise.cmake)
include(cmake/embree.cmake)
+include(cmake/openpgl.cmake)
include(cmake/fmt.cmake)
include(cmake/robinmap.cmake)
if(NOT APPLE)
diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake
index 6f0dd80ea6a..82f5d8260b7 100644
--- a/build_files/build_environment/cmake/download.cmake
+++ b/build_files/build_environment/cmake/download.cmake
@@ -101,6 +101,7 @@ download_source(FMT)
download_source(ROBINMAP)
download_source(IMATH)
download_source(PYSTRING)
+download_source(OPENPGL)
download_source(LEVEL_ZERO)
download_source(DPCPP)
download_source(VCINTRINSICS)
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index 6ed98398fde..0184259f365 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -137,6 +137,9 @@ harvest(openimagedenoise/include openimagedenoise/include "*")
harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
harvest(embree/include embree/include "*.h")
harvest(embree/lib embree/lib "*.a")
+harvest(openpgl/include openpgl/include "*.h")
+harvest(openpgl/lib openpgl/lib "*.a")
+harvest(openpgl/lib/cmake/openpgl-${OPENPGL_SHORT_VERSION} openpgl/lib/cmake/openpgl "*.cmake")
harvest(openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} openjpeg/include "*.h")
harvest(openjpeg/lib openjpeg/lib "*.a")
harvest(opensubdiv/include opensubdiv/include "*.h")
diff --git a/build_files/build_environment/cmake/openpgl.cmake b/build_files/build_environment/cmake/openpgl.cmake
new file mode 100644
index 00000000000..e6b0cd8eb4a
--- /dev/null
+++ b/build_files/build_environment/cmake/openpgl.cmake
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Note the utility apps may use png/tiff/gif system libraries, but the
+# library itself does not depend on them, so should give no problems.
+
+set(OPENPGL_EXTRA_ARGS
+ -DOPENPGL_BUILD_PYTHON=OFF
+ -DOPENPGL_BUILD_STATIC=ON
+ -DOPENPGL_TBB_ROOT=${LIBDIR}/tbb
+ -DTBB_ROOT=${LIBDIR}/tbb
+ -Dembree_DIR=${LIBDIR}/embree/lib/cmake/embree-${EMBREE_VERSION}
+ -DCMAKE_DEBUG_POSTFIX=_d
+)
+
+if(TBB_STATIC_LIBRARY)
+ set(OPENPGL_EXTRA_ARGS
+ ${OPENPGL_EXTRA_ARGS}
+ -DOPENPGL_TBB_COMPONENT=tbb_static
+ )
+endif()
+
+ExternalProject_Add(external_openpgl
+ URL file://${PACKAGE_DIR}/${OPENPGL_FILE}
+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
+ URL_HASH ${OPENPGL_HASH_TYPE}=${OPENPGL_HASH}
+ PREFIX ${BUILD_DIR}/openpgl
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openpgl ${DEFAULT_CMAKE_FLAGS} ${OPENPGL_EXTRA_ARGS}
+ INSTALL_DIR ${LIBDIR}/openpgl
+)
+
+add_dependencies(
+ external_openpgl
+ external_tbb
+ external_embree
+)
+
+if(WIN32)
+ if(BUILD_MODE STREQUAL Release)
+ ExternalProject_Add_Step(external_openpgl after_install
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openpgl ${HARVEST_TARGET}/openpgl
+ DEPENDEES install
+ )
+ else()
+ ExternalProject_Add_Step(external_openpgl after_install
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openpgl/lib/openpgl_d.lib ${HARVEST_TARGET}/openpgl/lib/openpgl_d.lib
+ DEPENDEES install
+ )
+ endif()
+endif()
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 95425300923..a03adcbad7b 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -500,6 +500,13 @@ set(BROTLI_HASH f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46
set(BROTLI_HASH_TYPE SHA256)
set(BROTLI_FILE brotli-${BROTLI_VERSION}.tar.gz)
+set(OPENPGL_VERSION v0.3.1-beta)
+set(OPENPGL_SHORT_VERSION 0.3.1)
+set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/refs/tags/${OPENPGL_VERSION}.tar.gz)
+set(OPENPGL_HASH 3830098c485c962018932766199527aab453a8029528dbbc04d4454d82431e2c)
+set(OPENPGL_HASH_TYPE SHA256)
+set(OPENPGL_FILE openpgl-${OPENPGL_VERSION}.tar.gz)
+
set(LEVEL_ZERO_VERSION v1.7.15)
set(LEVEL_ZERO_URI https://github.com/oneapi-src/level-zero/archive/refs/tags/${LEVEL_ZERO_VERSION}.tar.gz)
set(LEVEL_ZERO_HASH c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617)