[Bf-blender-cvs] [71a5a0f412b] cycles_path_guiding: Build: OpenPGL: Adding Open PGL
Sebastian Herholz
noreply at git.blender.org
Wed Jun 22 18:48:38 CEST 2022
Commit: 71a5a0f412b499def11806b68982f75548fd8100
Author: Sebastian Herholz
Date: Thu Jun 9 17:50:56 2022 +0200
Branches: cycles_path_guiding
https://developer.blender.org/rB71a5a0f412b499def11806b68982f75548fd8100
Build: OpenPGL: Adding Open PGL
Adding Intel's Open Path Guiding Library (v0.3.1) to the build scripts
===================================================================
M build_files/build_environment/CMakeLists.txt
M build_files/build_environment/cmake/download.cmake
M build_files/build_environment/cmake/harvest.cmake
A build_files/build_environment/cmake/openpgl.cmake
M build_files/build_environment/cmake/versions.cmake
===================================================================
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 1cf63f2d332..abc37c40462 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -92,6 +92,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 81e7f7ab3fe..d32e088460b 100644
--- a/build_files/build_environment/cmake/download.cmake
+++ b/build_files/build_environment/cmake/download.cmake
@@ -101,3 +101,4 @@ download_source(ROBINMAP)
download_source(IMATH)
download_source(PYSTRING)
download_source(LEVEL_ZERO)
+download_source(OPENPGL)
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index aeaa6fbd2b5..21944071e98 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -141,6 +141,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-${OPENPGL_SHORT_VERSION} "*.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..d83f70e7df0
--- /dev/null
+++ b/build_files/build_environment/cmake/openpgl.cmake
@@ -0,0 +1,50 @@
+# 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}
+)
+
+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.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 1fc2bc06e6b..975bca24eed 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -502,3 +502,10 @@ set(LEVEL_ZERO_URI https://github.com/oneapi-src/level-zero/archive/refs/tags/${
set(LEVEL_ZERO_HASH c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617)
set(LEVEL_ZERO_HASH_TYPE SHA256)
set(LEVEL_ZERO_FILE level-zero-${LEVEL_ZERO_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)
More information about the Bf-blender-cvs
mailing list