From e70004e8300ef5cb160a38892f4dd7650df5d4be Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 31 Jan 2023 02:13:00 +0100 Subject: [PATCH] [embree3] Update embree to 3.13.5 (#29239) * [embree3] update to 3.13.5 * v db --- ports/embree3/cmake_policy.patch | 14 --- ports/embree3/fix-path.patch | 85 ------------------- ports/embree3/fix-static-usage.patch | 26 ------ .../embree3/fix-targets-file-not-found.patch | 18 ---- ports/embree3/no-runtime-install.patch | 13 +++ ports/embree3/portfile.cmake | 30 +++++-- ports/embree3/vcpkg.json | 3 +- versions/baseline.json | 4 +- versions/e-/embree3.json | 5 ++ 9 files changed, 42 insertions(+), 156 deletions(-) delete mode 100644 ports/embree3/cmake_policy.patch delete mode 100755 ports/embree3/fix-path.patch delete mode 100644 ports/embree3/fix-static-usage.patch delete mode 100644 ports/embree3/fix-targets-file-not-found.patch create mode 100644 ports/embree3/no-runtime-install.patch diff --git a/ports/embree3/cmake_policy.patch b/ports/embree3/cmake_policy.patch deleted file mode 100644 index 0ae3a074da..0000000000 --- a/ports/embree3/cmake_policy.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 06f49a8..fdaaee7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -69,6 +69,9 @@ IF(COMMAND cmake_policy) - if(POLICY CMP0074) - cmake_policy(SET CMP0074 NEW) - endif() -+ if (POLICY CMP0001) -+ cmake_policy(SET CMP0001 OLD) -+ endif() - ENDIF(COMMAND cmake_policy) - - MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY) diff --git a/ports/embree3/fix-path.patch b/ports/embree3/fix-path.patch deleted file mode 100755 index 80b4b5be22..0000000000 --- a/ports/embree3/fix-path.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/common/algorithms/CMakeLists.txt b/common/algorithms/CMakeLists.txt -index 680c3ec..fea4a37 100644 ---- a/common/algorithms/CMakeLists.txt -+++ b/common/algorithms/CMakeLists.txt -@@ -20,8 +20,11 @@ SET_PROPERTY(TARGET algorithms APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") - # ideally we would use target_link_libraries to provide the algorithms target - # with the TBB include directory information. Howeve, this is only possible in - # very recent versions of TBB and therefore we use the target property instead -+if (0) - GET_TARGET_PROPERTY(tasking_include_dirs tasking INCLUDE_DIRECTORIES) - if (tasking_include_dirs) - TARGET_INCLUDE_DIRECTORIES(algorithms PUBLIC "${tasking_include_dirs}") - GET_TARGET_PROPERTY(algorithms_include_dirs algorithms INCLUDE_DIRECTORIES) - endif() -+endif() -+TARGET_LINK_LIBRARIES(algorithms PUBLIC tasking) -\ No newline at end of file -diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake -index 2c08cd7..5087ca0 100644 ---- a/common/cmake/embree-config.cmake -+++ b/common/cmake/embree-config.cmake -@@ -5,8 +5,6 @@ SET(EMBREE_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/@EMBREE_RELATIVE_ROOT_DIR@) - GET_FILENAME_COMPONENT(EMBREE_ROOT_DIR "${EMBREE_ROOT_DIR}" ABSOLUTE) - - SET(EMBREE_INCLUDE_DIRS ${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_INCLUDEDIR@) --SET(EMBREE_LIBRARY ${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/@EMBREE_LIBRARY_FULLNAME@) --SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) - - SET(EMBREE_VERSION @EMBREE_VERSION@) - SET(EMBREE_VERSION_MAJOR @EMBREE_VERSION_MAJOR@) -@@ -22,7 +20,6 @@ SET(EMBREE_ISA_AVX2 @EMBREE_ISA_AVX2@) - SET(EMBREE_ISA_AVX512 @EMBREE_ISA_AVX512@) - SET(EMBREE_ISA_AVX512SKX @EMBREE_ISA_AVX512@) # just for compatibility - --SET(EMBREE_BUILD_TYPE @CMAKE_BUILD_TYPE@) - SET(EMBREE_ISPC_SUPPORT @EMBREE_ISPC_SUPPORT@) - SET(EMBREE_STATIC_LIB @EMBREE_STATIC_LIB@) - SET(EMBREE_TUTORIALS @EMBREE_TUTORIALS@) -@@ -54,8 +51,6 @@ IF (EMBREE_STATIC_LIB) - INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/lexers-targets.cmake") - INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/tasking-targets.cmake") - -- add_library(TBB::tbb SHARED IMPORTED) -- set_target_properties(TBB::tbb PROPERTIES IMPORTED_LOCATION "${EMBREE_ROOT_DIR}/@EMBREE_INSTALLED_TBB@") - - ENDIF() - -diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake -index 5429436..8c89f5b 100644 ---- a/common/cmake/package.cmake -+++ b/common/cmake/package.cmake -@@ -24,7 +24,7 @@ ENDIF() - # Install MSVC runtime - ############################################################## - --IF (WIN32) -+IF (0) - SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) - INCLUDE(InstallRequiredSystemLibraries) - LIST(FILTER CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS INCLUDE REGEX ".*msvcp[0-9]+\.dll|.*vcruntime[0-9]+\.dll|.*vcruntime[0-9]+_[0-9]+\.dll") -diff --git a/common/tasking/CMakeLists.txt b/common/tasking/CMakeLists.txt -index 3085096..258d24e 100644 ---- a/common/tasking/CMakeLists.txt -+++ b/common/tasking/CMakeLists.txt -@@ -10,7 +10,7 @@ ELSEIF (TASKING_TBB) - if (NOT ${EMBREE_TBB_ROOT} STREQUAL "") - set(TBB_ROOT ${EMBREE_TBB_ROOT}) - endif() -- FIND_PACKAGE(TBB REQUIRED tbb) -+ FIND_PACKAGE(TBB CONFIG REQUIRED tbb) - - ############################################################## - # Create tasking target and link against TBB. Also set include directory -@@ -18,10 +18,7 @@ ELSEIF (TASKING_TBB) - # with the TBB header files - ############################################################## - ADD_LIBRARY(tasking STATIC taskschedulertbb.cpp) -- TARGET_LINK_LIBRARIES(tasking PUBLIC TBB) -- TARGET_INCLUDE_DIRECTORIES(tasking PUBLIC "${TBB_INCLUDE_DIRS}") -- -- include(installTBB) -+ TARGET_LINK_LIBRARIES(tasking PUBLIC TBB::tbb) - - ELSEIF (TASKING_PPL) - ADD_LIBRARY(tasking STATIC taskschedulerppl.cpp) diff --git a/ports/embree3/fix-static-usage.patch b/ports/embree3/fix-static-usage.patch deleted file mode 100644 index 28e1e28b35..0000000000 --- a/ports/embree3/fix-static-usage.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake -index 5087ca0..fdf8135 100644 ---- a/common/cmake/embree-config.cmake -+++ b/common/cmake/embree-config.cmake -@@ -52,6 +52,21 @@ IF (EMBREE_STATIC_LIB) - INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/tasking-targets.cmake") - - -+ IF(EMBREE_ISA_SSE42) -+ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_sse42-targets.cmake") -+ ENDIF() -+ IF(EMBREE_ISA_AVX) -+ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx-targets.cmake") -+ ENDIF() -+ IF(EMBREE_ISA_AVX2) -+ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx2-targets.cmake") -+ ENDIF() -+ IF(EMBREE_ISA_AVX512KNL) -+ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx512knl-targets.cmake") -+ ENDIF() -+ IF(EMBREE_ISA_AVX512SKX) -+ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx512skx-targets.cmake") -+ ENDIF() - ENDIF() - - INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree-targets.cmake") diff --git a/ports/embree3/fix-targets-file-not-found.patch b/ports/embree3/fix-targets-file-not-found.patch deleted file mode 100644 index 91665d552b..0000000000 --- a/ports/embree3/fix-targets-file-not-found.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake -index 8c89f5b..55cb2af 100644 ---- a/common/cmake/package.cmake -+++ b/common/cmake/package.cmake -@@ -114,10 +114,10 @@ ENDIF() - # SET(EMBREE_CMAKEEXPORT_DIR "cmake") - # SET(EMBREE_RELATIVE_ROOT_DIR ".") - #ELSE() --SET(EMBREE_CMAKECONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/embree-${EMBREE_VERSION}") --SET(EMBREE_CMAKEEXPORT_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/embree-${EMBREE_VERSION}") -+SET(EMBREE_CMAKECONFIG_DIR "share/embree") -+SET(EMBREE_CMAKEEXPORT_DIR "share/embree") - IF (WIN32) -- SET(EMBREE_RELATIVE_ROOT_DIR "../../../") -+ SET(EMBREE_RELATIVE_ROOT_DIR "../..") - ELSE() - FILE(RELATIVE_PATH EMBREE_RELATIVE_ROOT_DIR "/${EMBREE_CMAKECONFIG_DIR}" "/") - ENDIF() diff --git a/ports/embree3/no-runtime-install.patch b/ports/embree3/no-runtime-install.patch new file mode 100644 index 0000000000..02d44a722a --- /dev/null +++ b/ports/embree3/no-runtime-install.patch @@ -0,0 +1,13 @@ +diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake +index 5429436..8c89f5b 100644 +--- a/common/cmake/package.cmake ++++ b/common/cmake/package.cmake +@@ -24,7 +24,7 @@ ENDIF() + # Install MSVC runtime + ############################################################## + +-IF (WIN32) ++IF (0) + SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) + INCLUDE(InstallRequiredSystemLibraries) + LIST(FILTER CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS INCLUDE REGEX ".*msvcp[0-9]+\.dll|.*vcruntime[0-9]+\.dll|.*vcruntime[0-9]+_[0-9]+\.dll") diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake index ac4a1bdc56..f16638ceb5 100755 --- a/ports/embree3/portfile.cmake +++ b/ports/embree3/portfile.cmake @@ -1,16 +1,12 @@ -set(EMBREE3_VERSION 3.12.2) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO embree/embree - REF v${EMBREE3_VERSION} - SHA512 a63b483a92f4653e07a21ed3b545d86003295e0aacd8ec7a40ee72bad7bb70c6ea019af511e78c5c598336b162d53e296e9c87150c0adce6463b058e7a5394d4 + REF v${VERSION} + SHA512 13ae19b1750197fb4887ba601c75d1b54b3c388224672b6561dd922bc9b9747139cf46ce554727e3afa13dcf152ce4d703935cb9105ced792b011f2d05fa3e95 HEAD_REF master PATCHES - fix-path.patch - fix-static-usage.patch - cmake_policy.patch - fix-targets-file-not-found.patch + no-runtime-install.patch ) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} static EMBREE_STATIC_LIB) @@ -47,6 +43,8 @@ Only set feature avx automaticlly. endif() endif() +vcpkg_replace_string("${SOURCE_PATH}/common/cmake/installTBB.cmake" "IF (EMBREE_STATIC_LIB)" "IF (0)") + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE @@ -55,16 +53,30 @@ vcpkg_cmake_configure( -DEMBREE_TUTORIALS=OFF -DEMBREE_STATIC_RUNTIME=${EMBREE_STATIC_RUNTIME} -DEMBREE_STATIC_LIB=${EMBREE_STATIC_LIB} + -DEMBREE_INSTALL_DEPENDENCIES=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME embree) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/embree-${VERSION} PACKAGE_NAME embree) +set(config_file "${CURRENT_PACKAGES_DIR}/share/embree/embree-config.cmake") +# Fix details in config. +file(READ "${config_file}" contents) +string(REPLACE "SET(EMBREE_BUILD_TYPE Release)" "" contents "${contents}") +string(REPLACE "/../../../" "/../../" contents "${contents}") +string(REPLACE "FIND_PACKAGE" "find_dependency" contents "${contents}") +string(REPLACE "REQUIRED" "" contents "${contents}") +string(REPLACE "/lib/cmake/embree-${VERSION}" "/share/embree" contents "${contents}") + +if(NOT VCPKG_BUILD_TYPE) + string(REPLACE "/lib/embree3.lib" "$<$:/debug>/lib/embree3.lib" contents "${contents}") +endif() +file(WRITE "${config_file}" "${contents}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() if(APPLE) diff --git a/ports/embree3/vcpkg.json b/ports/embree3/vcpkg.json index 17bf22a33c..0c6271aa6f 100644 --- a/ports/embree3/vcpkg.json +++ b/ports/embree3/vcpkg.json @@ -1,7 +1,6 @@ { "name": "embree3", - "version-semver": "3.12.2", - "port-version": 3, + "version": "3.13.5", "description": "High Performance Ray Tracing Kernels.", "homepage": "https://github.com/embree/embree", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index ef7146415e..03f869b08f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2185,8 +2185,8 @@ "port-version": 4 }, "embree3": { - "baseline": "3.12.2", - "port-version": 3 + "baseline": "3.13.5", + "port-version": 0 }, "enet": { "baseline": "1.3.17", diff --git a/versions/e-/embree3.json b/versions/e-/embree3.json index ab3ae8eaf6..efb5ddfc97 100644 --- a/versions/e-/embree3.json +++ b/versions/e-/embree3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c4200bba761b3e04d73761b712080ade013f8763", + "version": "3.13.5", + "port-version": 0 + }, { "git-tree": "36abe72d0c102d1abb828db85701450b8bfab9e7", "version-semver": "3.12.2",