early-access version 2853
This commit is contained in:
14
externals/vcpkg/ports/embree3/cmake_policy.patch
vendored
Executable file
14
externals/vcpkg/ports/embree3/cmake_policy.patch
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
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)
|
||||
85
externals/vcpkg/ports/embree3/fix-path.patch
vendored
Executable file
85
externals/vcpkg/ports/embree3/fix-path.patch
vendored
Executable file
@@ -0,0 +1,85 @@
|
||||
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)
|
||||
26
externals/vcpkg/ports/embree3/fix-static-usage.patch
vendored
Executable file
26
externals/vcpkg/ports/embree3/fix-static-usage.patch
vendored
Executable file
@@ -0,0 +1,26 @@
|
||||
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")
|
||||
18
externals/vcpkg/ports/embree3/fix-targets-file-not-found.patch
vendored
Executable file
18
externals/vcpkg/ports/embree3/fix-targets-file-not-found.patch
vendored
Executable file
@@ -0,0 +1,18 @@
|
||||
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()
|
||||
77
externals/vcpkg/ports/embree3/portfile.cmake
vendored
Executable file
77
externals/vcpkg/ports/embree3/portfile.cmake
vendored
Executable file
@@ -0,0 +1,77 @@
|
||||
set(EMBREE3_VERSION 3.12.2)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO embree/embree
|
||||
REF v${EMBREE3_VERSION}
|
||||
SHA512 a63b483a92f4653e07a21ed3b545d86003295e0aacd8ec7a40ee72bad7bb70c6ea019af511e78c5c598336b162d53e296e9c87150c0adce6463b058e7a5394d4
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix-path.patch
|
||||
fix-static-usage.patch
|
||||
cmake_policy.patch
|
||||
fix-targets-file-not-found.patch
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} static EMBREE_STATIC_LIB)
|
||||
string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} static EMBREE_STATIC_RUNTIME)
|
||||
|
||||
if (NOT VCPKG_TARGET_IS_OSX)
|
||||
if ("avx512" IN_LIST FEATURES)
|
||||
message(FATAL_ERROR "Microsoft Visual C++ Compiler does not support feature avx512 officially.")
|
||||
endif()
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
avx EMBREE_ISA_AVX
|
||||
avx2 EMBREE_ISA_AVX2
|
||||
avx512 EMBREE_ISA_AVX512
|
||||
sse2 EMBREE_ISA_SSE2
|
||||
sse42 EMBREE_ISA_SSE42
|
||||
)
|
||||
elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
list(LENGTH FEATURES FEATURE_COUNT)
|
||||
if (FEATURE_COUNT GREATER 2)
|
||||
message(WARNING [[
|
||||
Using Embree as static library is not supported with AppleClang >= 9.0 when multiple ISAs are selected.
|
||||
Please install embree3 with only one feature using command "./vcpkg install embree3[core,FEATURE_NAME]"
|
||||
Only set feature avx automaticlly.
|
||||
]])
|
||||
set(FEATURE_OPTIONS
|
||||
-DEMBREE_ISA_AVX=ON
|
||||
-DEMBREE_ISA_AVX2=OFF
|
||||
-DEMBREE_ISA_AVX512=OFF
|
||||
-DEMBREE_ISA_SSE2=OFF
|
||||
-DEMBREE_ISA_SSE42=OFF
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
DISABLE_PARALLEL_CONFIGURE
|
||||
PREFER_NINJA
|
||||
OPTIONS ${FEATURE_OPTIONS}
|
||||
-DEMBREE_ISPC_SUPPORT=OFF
|
||||
-DEMBREE_TUTORIALS=OFF
|
||||
-DEMBREE_STATIC_RUNTIME=${EMBREE_STATIC_RUNTIME}
|
||||
-DEMBREE_STATIC_LIB=${EMBREE_STATIC_LIB}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH share/embree TARGET_PATH share/embree)
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
if(APPLE)
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/uninstall.command" "${CURRENT_PACKAGES_DIR}/debug/uninstall.command")
|
||||
endif()
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/")
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
4
externals/vcpkg/ports/embree3/usage
vendored
Executable file
4
externals/vcpkg/ports/embree3/usage
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
The package embree3 provides CMake targets:
|
||||
|
||||
find_package(embree 3 CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE embree)
|
||||
33
externals/vcpkg/ports/embree3/vcpkg.json
vendored
Executable file
33
externals/vcpkg/ports/embree3/vcpkg.json
vendored
Executable file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "embree3",
|
||||
"version-semver": "3.12.2",
|
||||
"port-version": 2,
|
||||
"description": "High Performance Ray Tracing Kernels.",
|
||||
"homepage": "https://github.com/embree/embree",
|
||||
"dependencies": [
|
||||
"tbb"
|
||||
],
|
||||
"default-features": [
|
||||
"avx",
|
||||
"avx2",
|
||||
"sse2",
|
||||
"sse42"
|
||||
],
|
||||
"features": {
|
||||
"avx": {
|
||||
"description": "Enables AVX ISA."
|
||||
},
|
||||
"avx2": {
|
||||
"description": "Enables AVX2 ISA."
|
||||
},
|
||||
"avx512": {
|
||||
"description": "Enables AVX512 ISA."
|
||||
},
|
||||
"sse2": {
|
||||
"description": "Enables SSE2 ISA."
|
||||
},
|
||||
"sse42": {
|
||||
"description": "Enables SSE4.2 ISA."
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user