aboutsummaryrefslogtreecommitdiff
path: root/ports/qttools
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2021-06-01 20:05:59 +0200
committerGitHub <noreply@github.com>2021-06-01 11:05:59 -0700
commit36000a1085a9d1029803f8f1ae31ecefdeecb321 (patch)
tree26801677ad706abbb8fd643e7ad18b414f2f14e1 /ports/qttools
parent7bc5b8cdfaf35329c1520b2af8d368e2b1cb78e6 (diff)
downloadvcpkg-36000a1085a9d1029803f8f1ae31ecefdeecb321.tar.gz
vcpkg-36000a1085a9d1029803f8f1ae31ecefdeecb321.zip
[Qt6|6.1.0] Add new ports. (#14333)
* wip commit * refactor openssl ports. * fix issues due to the file movement * qt build succesful. * qtbase finished? * add qttools and qtdeclarative * add EntryPoints to fixup_cmake_targets * add todo * more config fixup * correct entrypoint and remove winmain * format manifest * fix module issues * add extra vars * make qtdeclarative work (x64-windows). -static has problems * some extra cleanup tools start building * refactor code to use common script across ports * remove patch applied twice * remove copy pasta * add remaining qt6 ports * fix a few details * fix the rest * format manifests * add features to qt5compat. * small modification to directories * copy plugins * a bit of cleanup * smaller fixes * format manifest * fix_linux_configure_issue * adding linux features. * dont use quotes around INSTALL_ vars to fix linux build * fix script install on linux * remove bin if empty on all platforms otherwise let vcpkg throw an error * fix syncqt path * fix assimp feature * try to figure you ci failures * fix manifest format * change the head ref to dev add three required upstream cmake patches allow single config builds * fix typo * switch to use FEATURE_ instead of QT_FEATURE * [ZSTD] Update to 1.4.5 * [zstd] fix wrong assert to fix uwp regressions * always install *.pc file. Correct -l flag in pc file * remove any changes to vcpkg_copy_tools * fix orc regression * fix arrow regressions * fix zstd target suffix * fix orc zstd linkage * fix find_package(ZSTD) * fix icu linkage in harfbuzz * install zstd dlls. * skip qt5-base in ci to test qtbase due to conflicts * fix the patch due to a replacement error * add a way for vcpkg_from_github to only download the source archive and return the archive file name. * update everything to beta4. maybe qtdeclarative:x64-windows-static works now? * remove outdated patches * Print the failed condition * more debug messages * fix condition patch * update to beta5 * update vcpkg_from_git to support tags and make output of ref possible. * update ports * add missing qt ports, fix qtbase build * regenerate docs * fix typo * fix imageformats webp * fix qtdeclarative static builds msvc * more fixes * make the rest of qt build succesfully. (only tested x64-windows) * format manifest. * [vcpkg_from_git] new options TAG and OUT_REF - TAG github tag to checkout - OUT_REF github commit id related to tag or ref (useable for automatic updates of ports if used with a version tag) * fix importprefix in qml plugin targets in static builds * fix static qttools build on windows * move qml plugin fix into qtbase * try fixing staqtic build issues. * make comment in qtquickcontrols2 * dont promote targets * fix missing limits include * fix patch * pass options in qtopcua * fix freetype linkage * fix freetype a bit different * fix promotion patch * fix freetype wrapper without " * fix typo in patch * enable build of qtopcua * format manifest for ci to run * retry promotion * try again but explicity not promote Threads::Threads * push patch * [fontconfig] add vcpkg cmake wrapper. * fix empty statement in the wrapper * show files in bin if any * Apply suggestions from code review Co-authored-by: Robert Schumacher <roschuma@microsoft.com> * additional changes due to CR * regenerate docs * qdoc is build if llvm is present. * fix merge issues * fix wayland deps * add qt5-base to skip for static-md * format manifest. * update all qt ports. Lets see which patches need to be fixed/removed * fix some regressions by removing patches no longer necessary. (needs further cleanup to actually remove the patches) * fix qtopcua * make qttools build on osx * fix dependency of qttranslations * fix qtwayland * fix typo * fix case * adjust ci baseline for qtwayland on osx due to missing system libs. * create directory before rename * trying to make osx work * create the directory and move the files * move the removing outside the foreach .... * update to 6.0.2 * remove some outdated patches * qt 6.1.0-beta1 ci testing * remove unused patches * fix a few issues with qt 6.1.0-beta1 qtvirtualkeyboard needs some features. + need to install cmake wrappers from qtimageformats. + move QtAxServer to manual-link * Fix missing qt cmake wrappers for qttools and qtshadertools. * block qt beta ports in CI * turn off beta build in CI * remove outdated patches * skip qt6 beta ports in CI * [gettext] add feature tools. * switch hunspell to configure_make for pc files * switch to manifest * hunspell remove port debug and add comment about tools * setup qtvirtualkeyboard features. * fix manifest format CI * only run wayland on linux * disable pthread detection in gettext on windows * fix hunspell host dependency * formant manifest * - add qt6 prefix - add qt.conf.in - make qtbase depend on itself (host dependency) and see what breaks. * cannot add qt6 to bin folder currently. * try the prefix method - add tools-path to vcpkg_fixup_cmake_targets - add destination to vcpkg_copy_tools * feature refinement * fix tools issues * update baseline * more feature refinement. * be less noise in logs * update version in gettext format-manifest. * add version details * move on to qt version 6.0.3 * build cmake test port against qt6 * move qt5 includes into include/qt5 * ws change in cmake to force rebuild * version stuff * add plugin_config patch * version stuff * use upstream plugin patch for 6.1 * version stuff * update to qt 6.1.0-beta3 * add alignment patch * fix hunspell include path * make the patch depend on architecture * add qbittorrent as a test port * downgrade qbittorrent a bit so that in can run in CI * remove bin in static builds * remove debug folder completly (since it is empty) * copy additional deps required by qtshadertools and qtdeclarative in qtbase to avoid issues with binary chaching. * fix logic * try upstream alignment patch * update baseline * add feature options to qt5compat * update to qt 6.1.0 * version stuff * fix qt.conf (for release builds only) * fix install of missing FindX modules in qtimageformats which where supposed to be fixed upstream but aren't * remove unnecessary patch * version stuff * fix some qt.conf stuff * install some wrappers for debug builds. * fine tuning qt.conf * fix debug windeployqt install but somebody is linking release icudt in debug * fix arm crossbuilds on windows * remove tools default line * version stuff * add missing host dependencies. * fix windeploy target correctly for debug * fix cmake arm builds. * some batch improvements * run qmake.debug.bat for debug builds. * version stuff * unconditionally include the patch in qtvirtualkeyboard * version stuff * more host dependencies * version stuff * more host deps * version stuff * fix qtactiveqt * version stuff * suppress batch skript output * version stuff * Apply CR changes * version stuff * newline attack * update qbittorrent test port and newline... * version stuff again * switch to version-semver * version stuff * remove qbittorrent test_port because - easier than rewriting history - qt6svg usage will probably be tested by paraview/vtk in the future Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'ports/qttools')
-rw-r--r--ports/qttools/fix_static_build.patch27
-rw-r--r--ports/qttools/portfile.cmake94
-rw-r--r--ports/qttools/vcpkg.json29
-rw-r--r--ports/qttools/windeployqt.debug.bat10
4 files changed, 160 insertions, 0 deletions
diff --git a/ports/qttools/fix_static_build.patch b/ports/qttools/fix_static_build.patch
new file mode 100644
index 000000000..bc67faf5d
--- /dev/null
+++ b/ports/qttools/fix_static_build.patch
@@ -0,0 +1,27 @@
+diff --git a/src/designer/src/components/lib/CMakeLists.txt b/src/designer/src/components/lib/CMakeLists.txt
+index 53358741f..ce070bd6a 100644
+--- a/src/designer/src/components/lib/CMakeLists.txt
++++ b/src/designer/src/components/lib/CMakeLists.txt
+@@ -878,7 +878,7 @@ qt_internal_add_resource(DesignerComponents "widgetbox"
+ ## Scopes:
+ #####################################################################
+
+-qt_internal_extend_target(DesignerComponents CONDITION static
++qt_internal_extend_target(DesignerComponents CONDITION NOT BUILD_SHARED_LIBS
+ DEFINES
+ QT_DESIGNER_STATIC
+ )
+diff --git a/src/designer/src/designer/CMakeLists.txt b/src/designer/src/designer/CMakeLists.txt
+index f786f1dd6..8c635ff14 100644
+--- a/src/designer/src/designer/CMakeLists.txt
++++ b/src/designer/src/designer/CMakeLists.txt
+@@ -103,8 +103,8 @@ qt_internal_extend_target(designer CONDITION TARGET Qt::PrintSupport
+ PUBLIC_LIBRARIES
+ Qt::PrintSupport
+ )
+
+-qt_internal_extend_target(designer CONDITION QT_CONFIG___contains___static
++qt_internal_extend_target(designer CONDITION NOT BUILD_SHARED_LIBS
+ DEFINES
+ QT_DESIGNER_STATIC
+ )
diff --git a/ports/qttools/portfile.cmake b/ports/qttools/portfile.cmake
new file mode 100644
index 000000000..f65cf8ce1
--- /dev/null
+++ b/ports/qttools/portfile.cmake
@@ -0,0 +1,94 @@
+set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
+include("${SCRIPT_PATH}/qt_install_submodule.cmake")
+
+set(${PORT}_PATCHES )#fix_static_build.patch)
+
+#TODO check features and setup: (means force features!)
+
+# -- The following OPTIONAL packages have not been found:
+
+ # * Qt6AxContainer
+ # * Clang
+ # * WrapLibClang (required version >= 8)
+
+# Configure summary:
+
+# Qt Tools:
+ # Qt Assistant ........................... yes
+ # QDoc ................................... no
+ # Clang-based lupdate parser ............. no
+ # Qt Designer ............................ yes
+ # Qt Distance Field Generator ............ yes
+ # kmap2qmap .............................. yes
+ # Qt Linguist ............................ yes
+ # Mac Deployment Tool .................... no
+ # pixeltool .............................. yes
+ # qdbus .................................. yes
+ # qev .................................... yes
+ # Qt Attributions Scanner ................ yes
+ # qtdiag ................................. yes
+ # qtpaths ................................ yes
+ # qtplugininfo ........................... yes
+ # Windows deployment tool ................ yes
+
+# General features:
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ INVERTED_FEATURES
+ "qdoc" -DCMAKE_DISABLE_FIND_PACKAGE_Clang
+ "qdoc" -DCMAKE_DISABLE_FIND_PACKAGE_WrapLibClang
+ )
+
+ set(TOOL_NAMES
+ assistant
+ designer
+ lconvert
+ linguist
+ lprodump
+ lrelease-pro
+ lrelease
+ lupdate-pro
+ lupdate
+ pixeltool
+ qcollectiongenerator
+ qdistancefieldgenerator
+ qhelpgenerator
+ qtattributionsscanner
+ qtdiag
+ qtdiag6
+ qtpaths
+ qtplugininfo
+ qdbus
+ qdbusviewer
+ qdoc
+ )
+if(VCPKG_TARGET_IS_WINDOWS)
+ list(APPEND TOOL_NAMES windeployqt)
+elseif(VCPKG_TARGET_IS_OSX)
+ list(APPEND TOOL_NAMES macdeployqt)
+endif()
+
+qt_install_submodule(PATCHES ${${PORT}_PATCHES}
+ TOOL_NAMES ${TOOL_NAMES}
+ CONFIGURE_OPTIONS ${FEATURE_OPTIONS}
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=ON
+ CONFIGURE_OPTIONS_RELEASE
+ CONFIGURE_OPTIONS_DEBUG
+ )
+
+if(VCPKG_TARGET_IS_OSX)
+ set(OSX_APP_FOLDERS Designer.app Linguist.app pixeltool.app qdbusviewer.app)
+ foreach(_appfolder IN LISTS OSX_APP_FOLDERS)
+ message(STATUS "Moving: ${_appfolder}")
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${_appfolder}/" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}/")
+ endforeach()
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+set(configfile "${CURRENT_PACKAGES_DIR}/share/Qt6ToolsTools/Qt6ToolsToolsTargets-debug.cmake")
+if(EXISTS "${configfile}" AND EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt6/bin/windeployqt.exe")
+ file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/windeployqt.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/qt6/bin")
+ file(READ "${configfile}" _contents)
+ string(REPLACE [[${_IMPORT_PREFIX}/tools/qt6/bin/windeployqt.exe]] [[${_IMPORT_PREFIX}/tools/qt6/bin/windeployqt.debug.bat]] _contents "${_contents}")
+ file(WRITE "${configfile}" "${_contents}")
+endif()
diff --git a/ports/qttools/vcpkg.json b/ports/qttools/vcpkg.json
new file mode 100644
index 000000000..86d9efa48
--- /dev/null
+++ b/ports/qttools/vcpkg.json
@@ -0,0 +1,29 @@
+{
+ "name": "qttools",
+ "version-semver": "6.1.0",
+ "description": "Qt Tools",
+ "homepage": "https://www.qt.io/",
+ "dependencies": [
+ {
+ "name": "qtbase",
+ "default-features": false,
+ "features": [
+ "network"
+ ]
+ },
+ "qtdeclarative",
+ {
+ "name": "qttools",
+ "host": true,
+ "default-features": false
+ }
+ ],
+ "features": {
+ "qdoc": {
+ "description": "Build QDoc.",
+ "dependencies": [
+ "llvm"
+ ]
+ }
+ }
+}
diff --git a/ports/qttools/windeployqt.debug.bat b/ports/qttools/windeployqt.debug.bat
new file mode 100644
index 000000000..d004e23f1
--- /dev/null
+++ b/ports/qttools/windeployqt.debug.bat
@@ -0,0 +1,10 @@
+@echo off
+setlocal
+set mypath=%~dp0
+set mypath=%mypath:~0,-1%
+cd %mypath%\..\..\..\debug\bin
+set BAKCD=%CD%
+set PATH=%CD%;%PATH%
+"%mypath%\windeployqt.exe" --qmake "%mypath%\qmake.debug.bat" %*
+cd %BAKCD%
+endlocal \ No newline at end of file