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)
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs