恢复VCPKG中VTK的Qt功能特性为Qt5

从2023-01-27后VCPKG中VTK的Qt特性已升级到Qt6

通过查看vtk的更新的日志已于2023-01-27将默认依赖的Qt的版本由5更新到6

git log -- .\ports\vtk
commit 27fb19bdcc1f6ddb1261cffb5372724ac1d63a93
Author: Lily Wang <94091114+LilyWangLL@users.noreply.github.com>
Date:   2023-08-23

    [many ports] Fix URLS of download patch (#33309)

    * [many ports] Fix URLS of download patch

    * update version

.......

commit 46dda5372b08b614645c74679a61a2498d5926f6
Author: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
Date:   2023-01-27

    [vtk|opencv4|openimageio] Switch to Qt6 (#29078)

    * Switch stuff to Qt6
.......

手动恢复VCPKG中VTK的Qt特性为Qt5

1、CMake Configuration文件:ports/vtk/portfile.cmake
2、依赖清单文件:ports/vtk/vcpkg.json
对应的修改如下(更新于2024-10-15)

git diff
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake
index aa237e348..fbc630200 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -160,11 +160,11 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS PACKAGE_FEATURE_OPTIONS
 list(TRANSFORM VTK_FEATURE_OPTIONS REPLACE "=ON" "=YES")
 list(TRANSFORM VTK_FEATURE_OPTIONS REPLACE "=OFF" "=DONT_WANT")

-if("qt" IN_LIST FEATURES AND NOT EXISTS "${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/qmlplugindump${VCPKG_HOST_EXECUTABLE_SUFFIX}")
+if("qt" IN_LIST FEATURES AND NOT EXISTS "${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/bin/qmlplugindump${VCPKG_HOST_EXECUTABLE_SUFFIX}")
     list(APPEND VTK_FEATURE_OPTIONS -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick=NO)
 endif()
 if("qt" IN_LIST FEATURES)

-    file(READ "${CURRENT_INSTALLED_DIR}/share/qtbase/vcpkg_abi_info.txt" qtbase_abi_info)

+ file(READ "${CURRENT_INSTALLED_DIR}/share/qt5-base/vcpkg_abi_info.txt" qtbase_abi_info)
  if(qtbase_abi_info MATCHES "(^|;)gles2(;|$)")
      message(FATAL_ERROR "VTK assumes qt to be build with desktop opengl. As such trying to build vtk with qt using GLES will fail.")

      # This should really be a configure error but using this approach doesn't require patching.

  @@ -280,7 +280,7 @@ vcpkg_cmake_configure(
      ${ADDITIONAL_OPTIONS}
      -DVTK_DEBUG_MODULE_ALL=ON
      -DVTK_DEBUG_MODULE=ON

-        -DVTK_QT_VERSION=6

+        -DVTK_QT_VERSION=5
         -DCMAKE_INSTALL_QMLDIR:PATH=qml
         -DVCPKG_HOST_TRIPLET=${_HOST_TRIPLET}
         -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Due to Qt6::Platform not being found on Linux platform
         diff --git a/ports/vtk/vcpkg.json b/ports/vtk/vcpkg.json
         index a60514f34..dba8d9ed7 100644
         --- a/ports/vtk/vcpkg.json
         +++ b/ports/vtk/vcpkg.json
         @@ -274,17 +274,8 @@
         "qt": {
           "description": "Qt functionality for VTK",
           "dependencies": [

-        {
-        "name": "qtbase",
-        "default-features": false,
-        "features": [
-        "gui",
-        "opengl",
-        "sql-sqlite",
-        "widgets"
-        ]
-        },
-        "qtdeclarative",

+        "qt5",
+        "qt5-declarative",
         {
           "name": "vtk",
           "default-features": false,
         @@ -336,4 +327,4 @@
         ]
         }
         }
         -}
         +}
         \ No newline at end of file
posted @ 2024-02-23 22:32  非法关键字  阅读(255)  评论(0)    收藏  举报