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

Reply via email to