diff options
author | Sebastian Herhoz <sebastian.herholz@intel.com> | 2022-09-21 18:41:41 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-09-27 00:40:33 +0300 |
commit | 66a863e30197990e20a1e9a45923af6331935b21 (patch) | |
tree | 36f7be56e9b4ab8a5bd5ceebcbeb93d71a4ee332 /build_files | |
parent | bcb7b119ae5240632b7f8b07f926c230f3c48daf (diff) |
Build: add OpenPGL as to deps builds
Ref T92571, D15286
Diffstat (limited to 'build_files')
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) |