early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,20 @@
diff --git a/opensubdiv/CMakeLists.txt b/opensubdiv/CMakeLists.txt
index 72c5b7e..ca24488 100644
--- a/opensubdiv/CMakeLists.txt
+++ b/opensubdiv/CMakeLists.txt
@@ -124,6 +124,7 @@ if (NOT NO_LIB)
#---------------------------------------------------------------------------
+ if (NOT BUILD_SHARED_LIBS)
# Build static libs ------------------------------------
add_library(osd_static_cpu
STATIC
@@ -146,6 +147,7 @@ if (NOT NO_LIB)
)
install( TARGETS osd_static_cpu DESTINATION "${CMAKE_LIBDIR_BASE}" )
+ endif()
if( OSD_GPU )
# this macro uses FindCUDA.cmake to compile .cu kernel files

View File

@@ -0,0 +1,146 @@
diff --git a/cmake/FindDXSDK.cmake b/cmake/FindDXSDK.cmake
index a396d97..edd06db 100644
--- a/cmake/FindDXSDK.cmake
+++ b/cmake/FindDXSDK.cmake
@@ -48,15 +48,8 @@ if (WIN32)
"C:/Program Files/Microsoft DirectX SDK*/Include"
)
- if ("${CMAKE_GENERATOR}" MATCHES "[Ww]in64" OR
- "${CMAKE_GENERATOR_PLATFORM}" MATCHES "x64")
- set(ARCH x64)
- else()
- set(ARCH x86)
- endif()
-
find_path(LIBRARY_DIR
- d3d11.lib
+ d3dx11.lib
PATHS
"${DXSDK_LOCATION}/Lib/${ARCH}"
"$ENV{DXSDK_LOCATION}/Lib/${ARCH}"
@@ -70,7 +63,7 @@ if (WIN32)
set(DXSDK_LIBRARY_DIR ${LIBRARY_DIR})
- foreach(DX_LIB d3d11 d3dcompiler)
+ foreach(DX_LIB d3dx11 d3dcompiler)
find_library(DXSDK_${DX_LIB}_LIBRARY
NAMES
diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
index 2f4efd3..5f4f85b 100644
--- a/cmake/FindTBB.cmake
+++ b/cmake/FindTBB.cmake
@@ -30,6 +30,10 @@
# TBB_LIBRARIES - The libraries needed to use TBB
# Obtain include directory
+find_package(TBB CONFIG REQUIRED)
+set(TBB_FOUND 1)
+set(TBB_LIBRARIES TBB::tbb)
+if (0)
if (WIN32)
find_path(TBB_INCLUDE_DIR
NAMES
@@ -180,4 +184,4 @@ mark_as_advanced(
TBB_INCLUDE_DIR
TBB_LIBRARIES
)
-
+endif()
diff --git a/examples/dxPtexViewer/CMakeLists.txt b/examples/dxPtexViewer/CMakeLists.txt
index 2743423..81c8806 100644
--- a/examples/dxPtexViewer/CMakeLists.txt
+++ b/examples/dxPtexViewer/CMakeLists.txt
@@ -36,6 +36,19 @@ set(PLATFORM_LIBRARIES
"${ZLIB_LIBRARY}"
)
+if (OPENCL_FOUND)
+ list(APPEND PLATFORM_LIBRARIES
+ Opengl32
+ Cfgmgr32
+ )
+endif()
+
+if (DXSDK_FOUND)
+ list(APPEND PLATFORM_LIBRARIES
+ D3D11
+ )
+endif()
+
include_directories(
"${OPENSUBDIV_INCLUDE_DIR}"
"${DXSDK_INCLUDE_DIR}"
diff --git a/examples/dxViewer/CMakeLists.txt b/examples/dxViewer/CMakeLists.txt
index 245ecbd..83b39b8 100644
--- a/examples/dxViewer/CMakeLists.txt
+++ b/examples/dxViewer/CMakeLists.txt
@@ -33,6 +33,19 @@ set(PLATFORM_LIBRARIES
"${DXSDK_LIBRARIES}"
)
+if (OPENCL_FOUND)
+ list(APPEND PLATFORM_LIBRARIES
+ Opengl32
+ Cfgmgr32
+ )
+endif()
+
+if (DXSDK_FOUND)
+ list(APPEND PLATFORM_LIBRARIES
+ D3D11
+ )
+endif()
+
include_directories(
"${OPENSUBDIV_INCLUDE_DIR}"
"${DXSDK_INCLUDE_DIR}"
diff --git a/examples/glEvalLimit/CMakeLists.txt b/examples/glEvalLimit/CMakeLists.txt
index 1a71f72..8eaaccb 100644
--- a/examples/glEvalLimit/CMakeLists.txt
+++ b/examples/glEvalLimit/CMakeLists.txt
@@ -41,7 +41,6 @@ if( OPENCL_FOUND )
endif()
if( TBB_FOUND )
- include_directories("${TBB_INCLUDE_DIR}")
list(APPEND PLATFORM_LIBRARIES
"${TBB_LIBRARIES}"
)
diff --git a/opensubdiv/CMakeLists.txt b/opensubdiv/CMakeLists.txt
index adb0191..0f90a37 100644
--- a/opensubdiv/CMakeLists.txt
+++ b/opensubdiv/CMakeLists.txt
@@ -49,7 +49,6 @@ if (NOT NO_LIB)
endif()
if( TBB_FOUND )
- include_directories("${TBB_INCLUDE_DIR}")
list(APPEND PLATFORM_CPU_LIBRARIES
${TBB_LIBRARIES}
)
diff --git a/opensubdiv/osd/CMakeLists.txt b/opensubdiv/osd/CMakeLists.txt
index 75f64b6..90d5ea2 100644
--- a/opensubdiv/osd/CMakeLists.txt
+++ b/opensubdiv/osd/CMakeLists.txt
@@ -88,7 +88,6 @@ set(TBB_PUBLIC_HEADERS
)
if( TBB_FOUND )
- include_directories("${TBB_INCLUDE_DIR}")
list(APPEND CPU_SOURCE_FILES
tbbEvaluator.cpp
@@ -379,6 +378,10 @@ add_library(osd_cpu_obj
${PUBLIC_HEADER_FILES}
)
+if (TBB_FOUND)
+ target_link_libraries(osd_cpu_obj ${TBB_LIBRARIES})
+endif()
+
set_target_properties(osd_cpu_obj
PROPERTIES
FOLDER "opensubdiv"

View File

@@ -0,0 +1,13 @@
diff --git a/opensubdiv/CMakeLists.txt b/opensubdiv/CMakeLists.txt
index ca24488..adb0191 100644
--- a/opensubdiv/CMakeLists.txt
+++ b/opensubdiv/CMakeLists.txt
@@ -241,7 +241,7 @@ if (NOT NO_LIB)
endif()
# Build frameworks ----------------------------------
- if(APPLE)
+ if(APPLE AND OSD_GPU)
get_directory_property(OSD_HEADER_FILES DIRECTORY ${CMAKE_SOURCE_DIR}/opensubdiv/osd DEFINITION PUBLIC_HEADER_FILES)
get_directory_property(FAR_HEADER_FILES DIRECTORY ${CMAKE_SOURCE_DIR}/opensubdiv/far DEFINITION PUBLIC_HEADER_FILES)
get_directory_property(SDC_HEADER_FILES DIRECTORY ${CMAKE_SOURCE_DIR}/opensubdiv/sdc DEFINITION PUBLIC_HEADER_FILES)

View File

@@ -0,0 +1,13 @@
diff --git a/cmake/FindOpenCL.cmake b/cmake/FindOpenCL.cmake
index 485e55e..1c98b91 100644
--- a/cmake/FindOpenCL.cmake
+++ b/cmake/FindOpenCL.cmake
@@ -177,7 +177,7 @@ if(_OPENCL_CPP_INCLUDE_DIRS)
if(EXISTS "${OPENCL_INCLUDE_DIRS}/CL/cl.h")
- file(STRINGS "${OPENCL_INCLUDE_DIRS}/CL/cl.h" LINES REGEX "^#define CL_VERSION_.*$")
+ file(STRINGS "${OPENCL_INCLUDE_DIRS}/CL/cl.h" LINES REGEX "^#define CL_VERSION_[0-9]+_[0-9]+.*$")
foreach(LINE ${LINES})

View File

@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b69912ae..dcde4297 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -218,7 +218,7 @@ elseif(MSVC)
list(APPEND OSD_COMPILER_FLAGS
/W3 # Use warning level recommended for production purposes.
- /WX # Treat all compiler warnings as errors.
+ # /WX # Treat all compiler warnings as errors.
# warning C4005: macro redefinition
/wd4005

View File

@@ -0,0 +1,135 @@
if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_IOS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO PixarAnimationStudios/OpenSubdiv
REF 82ab1b9f54c87fdd7e989a3470d53e137b8ca270 # 3.4.3
SHA512 607cb9aa05d83a24bc2102bfd28abfec58f5723b1c56f6f431111ebf98f105ff7ca2a77610953acd21f73cb74d8d8ec68db3aeb11be1f9ca56d87c36c58dd095
HEAD_REF master
PATCHES
fix_compile-option.patch
fix-version-search.patch
fix-build-type.patch
fix-mac-build.patch
fix-dependencies.patch
)
if(VCPKG_TARGET_IS_LINUX)
message(
"OpenSubdiv currently requires the following libraries from the system package manager:
xinerama xxf86vm
These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxxf86vm-dev")
endif()
vcpkg_find_acquire_program(PYTHON2)
get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY)
vcpkg_add_to_path("${PYTHON2_DIR}")
if (VCPKG_CRT_LINKAGE STREQUAL static)
set(STATIC_CRT_LNK ON)
else()
set(STATIC_CRT_LNK OFF)
endif()
if ("cuda" IN_LIST FEATURES AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
message(FATAL_ERROR "Feature 'cuda' can only build on x64 arch.")
endif()
if (("dx" IN_LIST FEATURES OR "omp" IN_LIST FEATURES) AND NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature 'dx' and 'omp' only support Windows.")
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"true-deriv-eval" OPENSUBDIV_GREGORY_EVAL_TRUE_DERIVATIVES
INVERTED_FEATURES
"cuda" NO_CUDA
"dx" NO_DX
"examples" NO_EXAMPLES
"glew" NO_GLEW
"glfw" NO_GLFW
"glfw" NO_GLFW_X11
"omp" NO_OMP
"opencl" NO_OPENCL
"ptex" NO_PTEX
"tbb" NO_TBB
"tutorials" NO_TUTORIALS
)
set(OSD_EXTRA_OPTS)
if ("ptex" IN_LIST FEATURES)
list(APPEND OSD_EXTRA_OPTS -DPTEX_LOCATION=${CURRENT_INSTALLED_DIR})
endif()
if ("glew" IN_LIST FEATURES)
list(APPEND OSD_EXTRA_OPTS -DGLEW_LOCATION=${CURRENT_INSTALLED_DIR})
endif()
if ("glfw" IN_LIST FEATURES)
list(APPEND OSD_EXTRA_OPTS -DGLFW_LOCATION=${CURRENT_INSTALLED_DIR})
endif()
if ("dx" IN_LIST FEATURES)
list(APPEND OSD_EXTRA_OPTS -DDXSDK_LOCATION=${CURRENT_INSTALLED_DIR})
endif()
vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DMSVC_STATIC_CRT=${STATIC_CRT_LNK}
-DNO_LIB=OFF
-DNO_REGRESSION=ON
-DNO_DOC=ON
-DNO_TESTS=ON
-DNO_GLTESTS=ON
-DNO_CLEW=ON
-DNO_METAL=ON
-DNO_OPENGL=ON # missing glloader
${FEATURE_OPTIONS}
${OSD_EXTRA_OPTS}
MAYBE_UNUSED_VARIABLES
MSVC_STATIC_CRT
)
vcpkg_cmake_install()
if ("opencl" IN_LIST FEATURES OR "dx" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES stringify AUTO_CLEAN)
endif()
if ("examples" IN_LIST FEATURES)
if ("dx" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES dxViewer AUTO_CLEAN)
if ("ptex" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES dxPtexViewer AUTO_CLEAN)
endif()
endif()
endif()
if ("tutorials" IN_LIST FEATURES)
file(GLOB TUTORIALS_TOOLS "${CURRENT_PACKAGES_DIR}/bin/tutorials/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
set(TUTORIALS_TOOL_NAMES )
foreach(TUTORIALS_TOOL IN LISTS TUTORIALS_TOOLS)
get_filename_component(TUTORIALS_TOOL_NAME "${TUTORIALS_TOOL}" NAME_WE)
list(APPEND TUTORIALS_TOOL_NAMES "${TUTORIALS_TOOL_NAME}")
endforeach()
if (TUTORIALS_TOOL_NAMES)
vcpkg_copy_tools(TOOL_NAMES ${TUTORIALS_TOOL_NAMES} SEARCH_DIR "${CURRENT_PACKAGES_DIR}/bin/tutorials/" AUTO_CLEAN)
endif()
endif()
# The header files are read only and can't remove when remove this port
file(GLOB_RECURSE OSD_HDRS "${CURRENT_PACKAGES_DIR}/include/*.h")
file(CHMOD_RECURSE ${OSD_HDRS}
PERMISSIONS
OWNER_READ OWNER_WRITE
GROUP_READ GROUP_WRITE
WORLD_READ WORLD_WRITE
)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/bin"
"${CURRENT_PACKAGES_DIR}/debug/bin"
)
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

75
externals/vcpkg/ports/opensubdiv/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,75 @@
{
"name": "opensubdiv",
"version-semver": "3.4.3",
"port-version": 4,
"description": "An Open-Source subdivision surface library.",
"homepage": "https://github.com/PixarAnimationStudios/OpenSubdiv",
"supports": "!arm & !uwp",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
],
"features": {
"cuda": {
"description": "Enable CUDA backend",
"dependencies": [
"cuda"
]
},
"dx": {
"description": "Enable DirectX support",
"dependencies": [
{
"name": "directxsdk",
"features": [
"xp"
]
}
]
},
"examples": {
"description": "Enable examples build"
},
"glew": {
"description": "Path to glew",
"dependencies": [
"glew"
]
},
"glfw": {
"description": "Path to glfw",
"dependencies": [
"glfw3"
]
},
"omp": {
"description": "Enable OpenMP backend"
},
"opencl": {
"description": "Enable OpenCL backend",
"dependencies": [
"opencl"
]
},
"ptex": {
"description": "Path to Ptex",
"dependencies": [
"ptex"
]
},
"tbb": {
"description": "Enable TBB backend",
"dependencies": [
"tbb"
]
},
"true-deriv-eval": {
"description": "Enable true derivative evaluation for Gregory basis patches"
},
"tutorials": {
"description": "Enable tutorials build"
}
}
}