Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions ports/embree/avoid-library-conflicts.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1292e26..93a673a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -708,3 +708,9 @@ ENDIF()
##############################################################

INCLUDE(CPack)
+
+foreach(lib IN ITEMS lexers math simd sys tasking)
+ if(TARGET ${lib})
+ set_target_properties(${lib} PROPERTIES OUTPUT_NAME ${EMBREE_LIBRARY_NAME}_${lib})
+ endif()
+endforeach()
38 changes: 38 additions & 0 deletions ports/embree/cmake-config.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake
index c0009fd..e80df05 100644
--- a/common/cmake/embree-config.cmake
+++ b/common/cmake/embree-config.cmake
@@ -5,7 +5,7 @@ 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_LIBRARY "unofficial::embree::embree") # Improve diagnostics with namespaced target
SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY})

SET(EMBREE_VERSION @EMBREE_VERSION@)
@@ -104,6 +104,10 @@ IF (EMBREE_SYCL_SUPPORT)
ENDIF()

INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree-targets.cmake")
+if(NOT TARGET unofficial::embree::embree)
+ add_library(unofficial::embree::embree INTERFACE IMPORTED)
+ target_link_libraries(unofficial::embree::embree INTERFACE embree)
+endif()


SET(EMBREE_TESTING_ONLY_SYCL_TESTS @EMBREE_TESTING_ONLY_SYCL_TESTS@)
diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake
index 7cd3775..3fe79bb 100644
--- a/common/cmake/package.cmake
+++ b/common/cmake/package.cmake
@@ -218,6 +218,9 @@ ELSE()
FILE(RELATIVE_PATH EMBREE_RELATIVE_ROOT_DIR "/${EMBREE_CMAKECONFIG_DIR}" "/")
ENDIF()
#ENDIF()
+SET(EMBREE_CMAKECONFIG_DIR "share/embree")
+SET(EMBREE_CMAKEEXPORT_DIR "share/embree")
+SET(EMBREE_RELATIVE_ROOT_DIR "../../")

CONFIGURE_FILE(common/cmake/embree-config.cmake embree-config-install.cmake @ONLY)
CONFIGURE_FILE(common/cmake/embree-config-version.cmake embree-config-version.cmake @ONLY)
12 changes: 12 additions & 0 deletions ports/embree/no-runtime-install.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake
index daa4f49..7cd3775 100644
--- a/common/cmake/package.cmake
+++ b/common/cmake/package.cmake
@@ -119,6 +119,7 @@ ENDIF()
##############################################################

IF (WIN32)
+ELSEIF (0)

SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS TRUE)
98 changes: 98 additions & 0 deletions ports/embree/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
if(EXISTS "${CURRENT_INSTALLED_DIR}/share/embree/embree-config.cmake")
message(FATAL_ERROR "Port embree3 must be removed before installing embree.")
endif()

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO RenderKit/embree
REF v${VERSION}
SHA512 5e77a033192ade6562b50d32c806c6a467580722898ca52ccfe002b51279314055e9c0e6c969651b0d03716d04ab249301340cd2790556a0dbfb8c296e8f0574
HEAD_REF master
PATCHES
avoid-library-conflicts.diff
cmake-config.diff
no-runtime-install.patch
)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" static EMBREE_STATIC_LIB)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" static EMBREE_STATIC_RUNTIME)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
backface-culling EMBREE_BACKFACE_CULLING
compact-polys EMBREE_COMPACT_POLYS
filter-function EMBREE_FILTER_FUNCTION
ray-mask EMBREE_RAY_MASK
ray-packets EMBREE_RAY_PACKETS

geometry-triangle EMBREE_GEOMETRY_TRIANGLE
geometry-quad EMBREE_GEOMETRY_QUAD
geometry-curve EMBREE_GEOMETRY_CURVE
geometry-subdivision EMBREE_GEOMETRY_SUBDIVISION
geometry-user EMBREE_GEOMETRY_USER
geometry-instance EMBREE_GEOMETRY_INSTANCE
geometry-grid EMBREE_GEOMETRY_GRID
geometry-point EMBREE_GEOMETRY_POINT
)

if("tasking-tbb" IN_LIST FEATURES)
set(EMBREE_TASKING_SYSTEM "TBB")
list(APPEND FEATURE_OPTIONS "-DVCPKG_LOCK_FIND_PACKAGE_TBB=ON")
else()
set(EMBREE_TASKING_SYSTEM "INTERNAL")
endif()

if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
# "Using Embree as static library is not supported with AppleClang >= 9.0
# when multiple ISAs are selected."
# The port follows linkage and selects a single ISA for static linkage.
# Per-port customization may override VCPKG_LIBRARY_LINKAGE or ISA flags.
list(APPEND FEATURE_OPTIONS "-DEMBREE_MAX_ISA=NONE")
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
list(APPEND FEATURE_OPTIONS
-DEMBREE_ISA_SSE2=OFF
-DEMBREE_ISA_SSE42=OFF
-DCOMPILER_SUPPORTS_AVX=OFF
-DEMBREE_ISA_AVX2=ON
-DCOMPILER_SUPPORTS_AVX512=OFF
)
endif()
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE # in-source CONFIGURE_FILE
OPTIONS
${FEATURE_OPTIONS}
-DEMBREE_INSTALL_DEPENDENCIES=OFF
-DEMBREE_ISPC_SUPPORT=OFF
-DEMBREE_STATIC_RUNTIME=${EMBREE_STATIC_RUNTIME}
-DEMBREE_STATIC_LIB=${EMBREE_STATIC_LIB}
-DEMBREE_TASKING_SYSTEM:STRING=${EMBREE_TASKING_SYSTEM}
-DEMBREE_TUTORIALS=OFF
MAYBE_UNUSED_VARIABLES
EMBREE_STATIC_RUNTIME
)

vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup()

file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/embree-vars.csh"
"${CURRENT_PACKAGES_DIR}/debug/embree-vars.sh"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/embree-vars.csh"
"${CURRENT_PACKAGES_DIR}/embree-vars.sh"
"${CURRENT_PACKAGES_DIR}/share/man"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/doc/LICENSE.txt"
)

file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(
COMMENT "The embree package contains third-party software which may be governed by
separate license terms."
FILE_LIST "${SOURCE_PATH}/LICENSE.txt"
)
4 changes: 4 additions & 0 deletions ports/embree/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
embree provides CMake targets:

find_package(embree CONFIG REQUIRED)
target_link_libraries(main PRIVATE embree)
11 changes: 5 additions & 6 deletions ports/embree3/vcpkg.json → ports/embree/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{
"name": "embree3",
"version": "3.13.5",
"port-version": 6,
"name": "embree",
"version": "4.4.0",
"description": "High Performance Ray Tracing Kernels.",
"homepage": "https://github.com/embree/embree",
"license": "Apache-2.0",
"supports": "!arm | osx",
"homepage": "https://github.com/RenderKit/embree",
"license": null,
"supports": "linux | osx | (windows & !uwp & !arm)",
"dependencies": [
{
"name": "vcpkg-cmake",
Expand Down
13 changes: 0 additions & 13 deletions ports/embree3/001-downgrade-find-package-tbb-2020.patch

This file was deleted.

32 changes: 0 additions & 32 deletions ports/embree3/avoid-library-conflicts.diff

This file was deleted.

13 changes: 0 additions & 13 deletions ports/embree3/no-runtime-install.patch

This file was deleted.

125 changes: 0 additions & 125 deletions ports/embree3/portfile.cmake

This file was deleted.

4 changes: 0 additions & 4 deletions ports/embree3/usage

This file was deleted.

Loading
Loading