mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-29 19:49:00 +08:00
35bfef7084
* [qt6] Update to 6.1.1 * version stuff * fix empty dir * update version * fix casing in qtbase * [libpq] add secure32.lib on windows * add clang-cl fix * version stuff * fix flag removal by adding a space * version stuff * make qt6->Qt6 usage consistent since Qt6 refers to itself as Qt6 with uppercase Q * fix libpq wrapper opensll linkage on linux * use policy to fix dependent ports * version stuff * use upstream patch * version stuff * fix source_location with clang-cl * version stuff * add all new modules * add all modules to the qt port * push all the ports * fix patch * update ports * split qt_install_submodule into smaller functions * add qlitehtml submodule to qttools * update a few ports before moving to beta * update vcpkg.json and refs and fix issue with update * fix dependencies * remove patch * update to 6.2 * add nodejs to vcpkg_find_acquire_program for qtwebengine * format manifest. * fix webengine and see if it builds. * apply format diff * add patch * fix arm builds * fix linux gcc 7.5 build error * fix patch * bump version in qtbase otherwise CI seems to resuse the wrong version * fix webengine release build * try fixing gcc 7.5 build * revert gcc 7.5 fixes since they broke osx * revert gcc 7.5 fixes since they broke osx * fix qtimageformats. * actually enable new qt6 builds. * fix search path for nodejs. * fix the webengine patch again. * fix wrong binary name * revisit all dependencies * revisit webengine features and build settings * more feature stuff * remove qt6betablock and more features review for qt 6.2 * add missing qt prefix. * format manifest * fix ci issues * format manifest. * add node on osx. * install node on linux * fix a typo and a disable another find_package * fix mingw build issues and switch to not using tag * use CMAKE_HOST_WIN32 instead * update ref * fix core configure error * fix mingw case. * fix script installation * remove qmake helper scrpt * delete debug folder if empty * add vcpkg-tool-nodejs * revert changes in the pipeline scripts * adjust qtwebengine to the changes * format manifest and revert doc changes * fix message and logic * fix hashes and make host only port * fix hash again? * qttools add linguist feature for crossbuilds * fix dependency * add thread and future to concurrent feature * add assistant as a required host feature (somebody should tell Qt not to do that) * fix dependency. * [skip ci] not a host dep?!? * [skip ci] debuging * [skip ci] more debug messages * [skip ci] try always redownloading * [skip ci] fix hash und skip hash for redownloading once * [skip ci] comment out skip sha and redownload * add vcpkg_fixup_pkgconfig to libvpx * qtwebengine requires qml and quick * fix manifest format * qtwebengine does not support static builds! * remove unnecessary parts of the patch * update to beta2 * add some " and a message in update mode * [skip ci] remove old and reorder patches * [skip ci] add qtpaths6 * [skip actions] fix webengine patch * [skip actions] fix a few submodule refs * [skip actions] fix qtwebengine * [skip actions] remove qml feature from webengine in qt metaport * qtdeclarative raise minimum cmake version * use the tree id instead? * [skip actions] raise minimum cmake version in qtquick3d * fix fetching of unadvertised commit ids * revert changes to vcpkg_from_git * revert doc changes * [skip actions] use the new FETCH_REF * [skip actiosn] remove raise of minimum version to retry with new cmake version * [skip actions] update to beta3 * revert removal of patch * update to beta4 remove qtquickcontrols2 deps * fix missing \ * [skip actions] fix gstreamer feature on windows * [skip actions] remove outdated patches format qtmultimedia * [skip actions] update to rc1 * [skip actions] remove patch for now * update refs * [skip actions] comment patch to try another patch in qtmultimedia * x86 is not supported by qtwebengine (at least one of its internal third party deps fails due to x64 intrinsics.) * Finalize for 6.2 release. Open issues: QtWebengine and cross builds. * version stuff * fix semver in qtquickcontrols. * version stuff * revise qtwebengine supports expression * update version
111 lines
4.2 KiB
CMake
111 lines
4.2 KiB
CMake
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
|
|
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
|
|
|
|
set(TOOL_NAMES gn QtWebEngineProcess qwebengine_convert_dict)
|
|
|
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
FEATURES
|
|
"proprietary-codecs" FEATURE_webengine-proprietary-codecs
|
|
"spellchecker" FEATURE_webengine-spellchecker
|
|
"geolocation" FEATURE_webengine-geolocation
|
|
"webchannel" FEATURE_webengine-webchannel
|
|
INVERTED_FEATURES
|
|
"geolocation" CMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning
|
|
"webchannel" CMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel
|
|
)
|
|
|
|
if(VCPKG_TARGET_IS_OSX AND "spellchecker" IN_LIST FEATRUES)
|
|
list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine-native-spellchecker=ON")
|
|
endif()
|
|
|
|
# webengine-extensions
|
|
# webengine-printing-and-pdf
|
|
# webengine-pepper-plugins
|
|
set(deactivated_features webengine-webrtc webengine-webrtc-pipewire webengine-v8-snapshot-support)
|
|
foreach(_feat IN LISTS deactivated_features)
|
|
list(APPEND FEATURE_OPTIONS "-DFEATURE_${_feat}=OFF")
|
|
endforeach()
|
|
|
|
if(VCPKG_TARGET_IS_LINUX)
|
|
# qt_configure_add_summary_entry(ARGS "webengine-system-lcms2")
|
|
# qt_configure_add_summary_entry(ARGS "webengine-system-libpci")
|
|
# + ALSA and PULSEAUDIO
|
|
set(system_libs re2 icu libwebp opus ffmpeg libvpx snappy glib zlib minizip libevent protobuf libxml libpng libjpeg harfbuzz freetype)
|
|
foreach(_sys_lib IN LISTS system_libs)
|
|
list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine-system-${_sys_lib}=ON")
|
|
endforeach()
|
|
endif()
|
|
|
|
vcpkg_find_acquire_program(FLEX)
|
|
vcpkg_find_acquire_program(BISON)
|
|
vcpkg_find_acquire_program(GPERF)
|
|
vcpkg_find_acquire_program(PYTHON2)
|
|
|
|
#vcpkg_find_acquire_program(GN) # Qt builds its own internal version
|
|
|
|
find_program(NODEJS NAMES node PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/node" "bin" NO_DEFAULT_PATHS)
|
|
find_program(NODEJS NAMES node)
|
|
if(NOT NODEJS)
|
|
message(FATAL_ERROR "node not found! Please install it via your system package manager!")
|
|
endif()
|
|
|
|
get_filename_component(GPERF_DIR "${GPERF}" DIRECTORY )
|
|
vcpkg_add_to_path(PREPEND "${GPERF_DIR}")
|
|
get_filename_component(NODEJS_DIR "${NODEJS}" DIRECTORY )
|
|
vcpkg_add_to_path(PREPEND "${NODEJS_DIR}")
|
|
get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY )
|
|
vcpkg_add_to_path(PREPEND "${FLEX_DIR}")
|
|
get_filename_component(BISON_DIR "${BISON}" DIRECTORY )
|
|
vcpkg_add_to_path(PREPEND "${BISON_DIR}")
|
|
get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY )
|
|
vcpkg_add_to_path(PREPEND "${PYTHON2_DIR}")
|
|
|
|
if(WIN32) # WIN32 HOST probably has win_flex and win_bison!
|
|
if(NOT EXISTS "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
|
file(CREATE_LINK "${FLEX}" "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
|
endif()
|
|
if(NOT EXISTS "${BISON_DIR}/BISON${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
|
file(CREATE_LINK "${BISON}" "${BISON_DIR}/bison${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
|
endif()
|
|
endif()
|
|
|
|
### Download third_party modules
|
|
vcpkg_from_git(
|
|
OUT_SOURCE_PATH SOURCE_PATH_WEBENGINE
|
|
URL git://code.qt.io/qt/qtwebengine-chromium.git
|
|
REF 202e34476e934633b3c2e4679a53c4b0847364a8
|
|
)
|
|
|
|
##### qt_install_submodule
|
|
set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins)
|
|
set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml)
|
|
|
|
qt_download_submodule(PATCHES ${${PORT}_PATCHES})
|
|
if(QT_UPDATE_VERSION)
|
|
return()
|
|
endif()
|
|
if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium")
|
|
file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" "${SOURCE_PATH}/src/3rdparty/chromium")
|
|
endif()
|
|
if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn")
|
|
file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn")
|
|
endif()
|
|
|
|
qt_cmake_configure(OPTIONS ${FEATURE_OPTIONS}
|
|
-DGPerf_EXECUTABLE=${GPERF}
|
|
-DBISON_EXECUTABLE=${BISON}
|
|
-DFLEX_EXECUTABLE=${FLEX}
|
|
#-DGn_EXECUTABLE=${GN}
|
|
-DPython2_EXECUTABLE=${PYTHON2}
|
|
-DNodejs_EXECUTABLE=${NODEJS}
|
|
OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG}
|
|
OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE})
|
|
|
|
vcpkg_install_cmake(ADD_BIN_TO_PATH)
|
|
|
|
qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES})
|
|
|
|
qt_install_copyright("${SOURCE_PATH}")
|
|
|
|
##### qt_install_submodule
|