diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2021-06-01 20:05:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-01 11:05:59 -0700 |
| commit | 36000a1085a9d1029803f8f1ae31ecefdeecb321 (patch) | |
| tree | 26801677ad706abbb8fd643e7ad18b414f2f14e1 /ports/qttools | |
| parent | 7bc5b8cdfaf35329c1520b2af8d368e2b1cb78e6 (diff) | |
| download | vcpkg-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.patch | 27 | ||||
| -rw-r--r-- | ports/qttools/portfile.cmake | 94 | ||||
| -rw-r--r-- | ports/qttools/vcpkg.json | 29 | ||||
| -rw-r--r-- | ports/qttools/windeployqt.debug.bat | 10 |
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 |
