aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/qtquick3d
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/qtquick3d')
-rw-r--r--vcpkg/ports/qtquick3d/0001-devendor-meshoptimizer.patch64
-rw-r--r--vcpkg/ports/qtquick3d/android-openxr-vulkan.diff15
-rw-r--r--vcpkg/ports/qtquick3d/portfile.cmake34
-rw-r--r--vcpkg/ports/qtquick3d/vcpkg.json39
4 files changed, 152 insertions, 0 deletions
diff --git a/vcpkg/ports/qtquick3d/0001-devendor-meshoptimizer.patch b/vcpkg/ports/qtquick3d/0001-devendor-meshoptimizer.patch
new file mode 100644
index 0000000..094bed6
--- /dev/null
+++ b/vcpkg/ports/qtquick3d/0001-devendor-meshoptimizer.patch
@@ -0,0 +1,64 @@
+diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt
+index 78ad8af..bee1ca6 100644
+--- a/src/utils/CMakeLists.txt
++++ b/src/utils/CMakeLists.txt
+@@ -7,6 +7,8 @@
+ ## Quick3DUtils Module:
+ #####################################################################
+
++qt_find_package(meshoptimizer PROVIDED_TARGETS meshoptimizer::meshoptimizer)
++
+ qt_internal_add_module(Quick3DUtils
+ SOURCES
+ qqsbcollection.cpp qqsbcollection_p.h
+@@ -26,49 +28,17 @@ qt_internal_add_module(Quick3DUtils
+ qquick3dprofiler_p.h
+ ../3rdparty/xatlas/xatlas.cpp ../3rdparty/xatlas/xatlas.h
+ qssglightmapuvgenerator.cpp qssglightmapuvgenerator_p.h
+- ../3rdparty/meshoptimizer/src/allocator.cpp
+- ../3rdparty/meshoptimizer/src/clusterizer.cpp
+- ../3rdparty/meshoptimizer/src/indexcodec.cpp
+- ../3rdparty/meshoptimizer/src/indexgenerator.cpp
+- ../3rdparty/meshoptimizer/src/meshoptimizer.h
+- ../3rdparty/meshoptimizer/src/overdrawanalyzer.cpp
+- ../3rdparty/meshoptimizer/src/overdrawoptimizer.cpp
+- ../3rdparty/meshoptimizer/src/simplifier.cpp
+- ../3rdparty/meshoptimizer/src/spatialorder.cpp
+- ../3rdparty/meshoptimizer/src/stripifier.cpp
+- ../3rdparty/meshoptimizer/src/vcacheanalyzer.cpp
+- ../3rdparty/meshoptimizer/src/vcacheoptimizer.cpp
+- ../3rdparty/meshoptimizer/src/vertexcodec.cpp
+- ../3rdparty/meshoptimizer/src/vertexfilter.cpp
+- ../3rdparty/meshoptimizer/src/vfetchanalyzer.cpp
+- ../3rdparty/meshoptimizer/src/vfetchoptimizer.cpp
+ NO_UNITY_BUILD_SOURCES
+ ../3rdparty/xatlas/xatlas.cpp ../3rdparty/xatlas/xatlas.h
+- ../3rdparty/meshoptimizer/src/allocator.cpp
+- ../3rdparty/meshoptimizer/src/clusterizer.cpp
+- ../3rdparty/meshoptimizer/src/indexcodec.cpp
+- ../3rdparty/meshoptimizer/src/indexgenerator.cpp
+- ../3rdparty/meshoptimizer/src/meshoptimizer.h
+- ../3rdparty/meshoptimizer/src/overdrawanalyzer.cpp
+- ../3rdparty/meshoptimizer/src/overdrawoptimizer.cpp
+- ../3rdparty/meshoptimizer/src/simplifier.cpp
+- ../3rdparty/meshoptimizer/src/spatialorder.cpp
+- ../3rdparty/meshoptimizer/src/stripifier.cpp
+- ../3rdparty/meshoptimizer/src/vcacheanalyzer.cpp
+- ../3rdparty/meshoptimizer/src/vcacheoptimizer.cpp
+- ../3rdparty/meshoptimizer/src/vertexcodec.cpp
+- ../3rdparty/meshoptimizer/src/vertexfilter.cpp
+- ../3rdparty/meshoptimizer/src/vfetchanalyzer.cpp
+- ../3rdparty/meshoptimizer/src/vfetchoptimizer.cpp
+ DEFINES
+ QT_BUILD_QUICK3DUTILS_LIB
+ INCLUDE_DIRECTORIES
+ ../3rdparty/xatlas
+- ../3rdparty/meshoptimizer/src/
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::QuickPrivate
++ meshoptimizer::meshoptimizer
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Gui
diff --git a/vcpkg/ports/qtquick3d/android-openxr-vulkan.diff b/vcpkg/ports/qtquick3d/android-openxr-vulkan.diff
new file mode 100644
index 0000000..9e98d08
--- /dev/null
+++ b/vcpkg/ports/qtquick3d/android-openxr-vulkan.diff
@@ -0,0 +1,15 @@
+diff --git a/src/xr/quick3dxr/openxr/qquick3dxrmanager_openxr.cpp b/src/xr/quick3dxr/openxr/qquick3dxrmanager_openxr.cpp
+index f0d2963..8db003b 100644
+--- a/src/xr/quick3dxr/openxr/qquick3dxrmanager_openxr.cpp
++++ b/src/xr/quick3dxr/openxr/qquick3dxrmanager_openxr.cpp
+@@ -2036,8 +2036,10 @@ XrResult QQuick3DXrManagerPrivate::createXrInstance()
+
+ auto graphicsAPI = QQuickWindow::graphicsApi();
+ if (graphicsAPI == QSGRendererInterface::Vulkan) {
++#ifdef XR_USE_GRAPHICS_API_VULKAN
+ if (isExtensionSupported(XR_FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME, extensionProperties))
+ enabledExtensions.append(XR_FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME);
++#endif
+ } else if (graphicsAPI == QSGRendererInterface::OpenGL) {
+ if (isExtensionSupported(XR_FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME, extensionProperties))
+ enabledExtensions.append(XR_FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME);
diff --git a/vcpkg/ports/qtquick3d/portfile.cmake b/vcpkg/ports/qtquick3d/portfile.cmake
new file mode 100644
index 0000000..9a55f5f
--- /dev/null
+++ b/vcpkg/ports/qtquick3d/portfile.cmake
@@ -0,0 +1,34 @@
+set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
+set(${PORT}_PATCHES
+ 0001-devendor-meshoptimizer.patch
+ android-openxr-vulkan.diff
+)
+
+include("${SCRIPT_PATH}/qt_install_submodule.cmake")
+
+# General features:
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+FEATURES
+ "assimp" FEATURE_quick3d_assimp
+ #"assimp" CMAKE_REQUIRE_FIND_PACKAGE_WrapQuick3DAssimp
+ "openxr" FEATURE_quick3dxr_openxr
+INVERTED_FEATURES
+ "assimp" CMAKE_DISABLE_FIND_PACKAGE_WrapQuick3DAssimp
+ )
+
+if("assimp" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -DINPUT_quick3d_assimp=system -DTEST_quick3d_assimp=ON -DHAVE_Assimp=ON)
+else()
+ list(APPEND FEATURE_OPTIONS -DINPUT_quick3d_assimp=no)
+endif()
+
+set(TOOL_NAMES balsam balsamui meshdebug shadergen instancer materialeditor shapegen)
+
+qt_install_submodule(PATCHES ${${PORT}_PATCHES}
+ TOOL_NAMES ${TOOL_NAMES}
+ CONFIGURE_OPTIONS
+ ${FEATURE_OPTIONS}
+ -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON
+ CONFIGURE_OPTIONS_RELEASE
+ CONFIGURE_OPTIONS_DEBUG
+ )
diff --git a/vcpkg/ports/qtquick3d/vcpkg.json b/vcpkg/ports/qtquick3d/vcpkg.json
new file mode 100644
index 0000000..afb2cb9
--- /dev/null
+++ b/vcpkg/ports/qtquick3d/vcpkg.json
@@ -0,0 +1,39 @@
+{
+ "name": "qtquick3d",
+ "version": "6.9.1",
+ "description": "Qt Quick 3D provides a high-level API for creating 3D content and 3D user interfaces based on Qt Quick.",
+ "homepage": "https://www.qt.io/",
+ "license": null,
+ "dependencies": [
+ "meshoptimizer",
+ {
+ "name": "qtbase",
+ "default-features": false,
+ "features": [
+ "gui"
+ ]
+ },
+ "qtdeclarative",
+ {
+ "name": "qtquick3d",
+ "host": true,
+ "default-features": false
+ },
+ "qtquicktimeline",
+ "qtshadertools"
+ ],
+ "features": {
+ "assimp": {
+ "description": "assimp",
+ "dependencies": [
+ "assimp"
+ ]
+ },
+ "openxr": {
+ "description": "OpenXR support",
+ "dependencies": [
+ "openxr-loader"
+ ]
+ }
+ }
+}