diff options
author | Boris Pek <tehnick-8@yandex.ru> | 2019-11-06 23:09:45 (GMT) |
---|---|---|
committer | Tony Theodore <tonyt@logyst.com> | 2019-11-08 13:03:37 (GMT) |
commit | 06e13e64aa1ffcad3d32f5180e9b393df93bff5d (patch) | |
tree | fb2cb5086d1f4c30027d743fe020f273de91ac7d /plugins | |
parent | 48a01d1dfbac75383fca0073f6af8168087cd3da (diff) | |
download | mxe-06e13e64aa1ffcad3d32f5180e9b393df93bff5d.zip mxe-06e13e64aa1ffcad3d32f5180e9b393df93bff5d.tar.gz mxe-06e13e64aa1ffcad3d32f5180e9b393df93bff5d.tar.bz2 |
qtwebkit: use latest version
* qtdeclarative: workaround for fixing build of
current version of QtWebkit with Qt 5.7.1
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/examples/qt5-freeze/Qt5QuickConfig.cmake | 190 | ||||
-rw-r--r-- | plugins/examples/qt5-freeze/qtdeclarative.mk | 4 | ||||
-rw-r--r-- | plugins/examples/qt5-freeze/qtwebkit-1-fixes.patch | 47 | ||||
-rw-r--r-- | plugins/examples/qt5-freeze/qtwebkit.mk | 25 |
4 files changed, 194 insertions, 72 deletions
diff --git a/plugins/examples/qt5-freeze/Qt5QuickConfig.cmake b/plugins/examples/qt5-freeze/Qt5QuickConfig.cmake new file mode 100644 index 0000000..491df6a --- /dev/null +++ b/plugins/examples/qt5-freeze/Qt5QuickConfig.cmake @@ -0,0 +1,190 @@ + +if (CMAKE_VERSION VERSION_LESS 3.1.0) + message(FATAL_ERROR "Qt 5 Quick module requires at least CMake version 3.1.0") +endif() + +get_filename_component(_qt5Quick_install_prefix "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + +# For backwards compatibility only. Use Qt5Quick_VERSION instead. +set(Qt5Quick_VERSION_STRING 5.7.1) + +set(Qt5Quick_LIBRARIES Qt5::Quick) + +macro(_qt5_Quick_check_file_exists file) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"Qt5::Quick\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() +endmacro() + +macro(_populate_Quick_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) + set_property(TARGET Qt5::Quick APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + set(imported_location "${_qt5Quick_install_prefix}/bin/${LIB_LOCATION}") + _qt5_Quick_check_file_exists(${imported_location}) + set_target_properties(Qt5::Quick PROPERTIES + "INTERFACE_LINK_LIBRARIES" "${_Qt5Quick_LIB_DEPENDENCIES}" + "IMPORTED_LOCATION_${Configuration}" ${imported_location} + # For backward compatibility with CMake < 2.8.12 + "IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}" "${_Qt5Quick_LIB_DEPENDENCIES}" + ) + + set(imported_implib "${_qt5Quick_install_prefix}/lib/${IMPLIB_LOCATION}") + _qt5_Quick_check_file_exists(${imported_implib}) + if(NOT "${IMPLIB_LOCATION}" STREQUAL "") + set_target_properties(Qt5::Quick PROPERTIES + "IMPORTED_IMPLIB_${Configuration}" ${imported_implib} + ) + endif() +endmacro() + +if (NOT TARGET Qt5::Quick) + + set(_Qt5Quick_OWN_INCLUDE_DIRS "${_qt5Quick_install_prefix}/include/" "${_qt5Quick_install_prefix}/include/QtQuick") + set(Qt5Quick_PRIVATE_INCLUDE_DIRS + "${_qt5Quick_install_prefix}/include/QtQuick/5.7.1" + "${_qt5Quick_install_prefix}/include/QtQuick/5.7.1/QtQuick" + ) + + foreach(_dir ${_Qt5Quick_OWN_INCLUDE_DIRS}) + _qt5_Quick_check_file_exists(${_dir}) + endforeach() + + # Only check existence of private includes if the Private component is + # specified. + list(FIND Qt5Quick_FIND_COMPONENTS Private _check_private) + if (NOT _check_private STREQUAL -1) + foreach(_dir ${Qt5Quick_PRIVATE_INCLUDE_DIRS}) + _qt5_Quick_check_file_exists(${_dir}) + endforeach() + endif() + + set(Qt5Quick_INCLUDE_DIRS ${_Qt5Quick_OWN_INCLUDE_DIRS}) + + set(Qt5Quick_DEFINITIONS -DQT_QUICK_LIB) + set(Qt5Quick_COMPILE_DEFINITIONS QT_QUICK_LIB) + set(_Qt5Quick_MODULE_DEPENDENCIES "Qml;Gui;Core") + + + set(Qt5Quick_OWN_PRIVATE_INCLUDE_DIRS ${Qt5Quick_PRIVATE_INCLUDE_DIRS}) + + set(_Qt5Quick_FIND_DEPENDENCIES_REQUIRED) + if (Qt5Quick_FIND_REQUIRED) + set(_Qt5Quick_FIND_DEPENDENCIES_REQUIRED REQUIRED) + endif() + set(_Qt5Quick_FIND_DEPENDENCIES_QUIET) + if (Qt5Quick_FIND_QUIETLY) + set(_Qt5Quick_DEPENDENCIES_FIND_QUIET QUIET) + endif() + set(_Qt5Quick_FIND_VERSION_EXACT) + if (Qt5Quick_FIND_VERSION_EXACT) + set(_Qt5Quick_FIND_VERSION_EXACT EXACT) + endif() + + set(Qt5Quick_EXECUTABLE_COMPILE_FLAGS "") + + foreach(_module_dep ${_Qt5Quick_MODULE_DEPENDENCIES}) + if (NOT Qt5${_module_dep}_FOUND) + find_package(Qt5${_module_dep} + 5.7.1 ${_Qt5Quick_FIND_VERSION_EXACT} + ${_Qt5Quick_DEPENDENCIES_FIND_QUIET} + ${_Qt5Quick_FIND_DEPENDENCIES_REQUIRED} + PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH + ) + endif() + + if (NOT Qt5${_module_dep}_FOUND) + set(Qt5Quick_FOUND False) + return() + endif() + + list(APPEND Qt5Quick_INCLUDE_DIRS "${Qt5${_module_dep}_INCLUDE_DIRS}") + list(APPEND Qt5Quick_PRIVATE_INCLUDE_DIRS "${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}") + list(APPEND Qt5Quick_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS}) + list(APPEND Qt5Quick_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS}) + list(APPEND Qt5Quick_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS}) + endforeach() + list(REMOVE_DUPLICATES Qt5Quick_INCLUDE_DIRS) + list(REMOVE_DUPLICATES Qt5Quick_PRIVATE_INCLUDE_DIRS) + list(REMOVE_DUPLICATES Qt5Quick_DEFINITIONS) + list(REMOVE_DUPLICATES Qt5Quick_COMPILE_DEFINITIONS) + list(REMOVE_DUPLICATES Qt5Quick_EXECUTABLE_COMPILE_FLAGS) + + set(_Qt5Quick_LIB_DEPENDENCIES "Qt5::Qml;Qt5::Gui;Qt5::Core") + + + add_library(Qt5::Quick SHARED IMPORTED) + + set_property(TARGET Qt5::Quick PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${_Qt5Quick_OWN_INCLUDE_DIRS}) + set_property(TARGET Qt5::Quick PROPERTY + INTERFACE_COMPILE_DEFINITIONS QT_QUICK_LIB) + + set_property(TARGET Qt5::Quick PROPERTY INTERFACE_QT_ENABLED_FEATURES ) + set_property(TARGET Qt5::Quick PROPERTY INTERFACE_QT_DISABLED_FEATURES d3d12) + + set(_Qt5Quick_PRIVATE_DIRS_EXIST TRUE) + foreach (_Qt5Quick_PRIVATE_DIR ${Qt5Quick_OWN_PRIVATE_INCLUDE_DIRS}) + if (NOT EXISTS ${_Qt5Quick_PRIVATE_DIR}) + set(_Qt5Quick_PRIVATE_DIRS_EXIST FALSE) + endif() + endforeach() + + if (_Qt5Quick_PRIVATE_DIRS_EXIST) + add_library(Qt5::QuickPrivate INTERFACE IMPORTED) + set_property(TARGET Qt5::QuickPrivate PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Qt5Quick_OWN_PRIVATE_INCLUDE_DIRS} + ) + set(_Qt5Quick_PRIVATEDEPS) + foreach(dep ${_Qt5Quick_LIB_DEPENDENCIES}) + if (TARGET ${dep}Private) + list(APPEND _Qt5Quick_PRIVATEDEPS ${dep}Private) + endif() + endforeach() + set_property(TARGET Qt5::QuickPrivate PROPERTY + INTERFACE_LINK_LIBRARIES Qt5::Quick ${_Qt5Quick_PRIVATEDEPS} + ) + endif() + + _populate_Quick_target_properties(RELEASE "Qt5Quick.dll" "libQt5Quick.a" ) + + if (EXISTS + "${_qt5Quick_install_prefix}/bin/Qt5Quickd.dll" + AND EXISTS + "${_qt5Quick_install_prefix}/lib/libQt5Quickd.a" ) + _populate_Quick_target_properties(DEBUG "Qt5Quickd.dll" "libQt5Quickd.a" ) + endif() + + + + file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Quick_*Plugin.cmake") + + macro(_populate_Quick_plugin_properties Plugin Configuration PLUGIN_LOCATION) + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + set(imported_location "${_qt5Quick_install_prefix}/plugins/${PLUGIN_LOCATION}") + _qt5_Quick_check_file_exists(${imported_location}) + set_target_properties(Qt5::${Plugin} PROPERTIES + "IMPORTED_LOCATION_${Configuration}" ${imported_location} + ) + endmacro() + + if (pluginTargets) + foreach(pluginTarget ${pluginTargets}) + include(${pluginTarget}) + endforeach() + endif() + + + + +_qt5_Quick_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5QuickConfigVersion.cmake") + +endif() diff --git a/plugins/examples/qt5-freeze/qtdeclarative.mk b/plugins/examples/qt5-freeze/qtdeclarative.mk index 18ee93f..8cf202f 100644 --- a/plugins/examples/qt5-freeze/qtdeclarative.mk +++ b/plugins/examples/qt5-freeze/qtdeclarative.mk @@ -18,4 +18,8 @@ endef define $(PKG)_BUILD $(QMAKE_MAKE_INSTALL) + + # Workaround for fixing build of current version of QtWebkit with Qt 5.7.1 + cp $(PWD)/plugins/examples/qt5-freeze/Qt5QuickConfig.cmake \ + $(PREFIX)/$(TARGET)/qt5/lib/cmake/Qt5Quick/ endef diff --git a/plugins/examples/qt5-freeze/qtwebkit-1-fixes.patch b/plugins/examples/qt5-freeze/qtwebkit-1-fixes.patch deleted file mode 100644 index 4590929..0000000 --- a/plugins/examples/qt5-freeze/qtwebkit-1-fixes.patch +++ /dev/null @@ -1,47 +0,0 @@ -This file is part of MXE. See LICENSE.md for licensing information. - -Contains ad hoc patches for cross building. - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tony Theodore <tonyt@logyst.com> -Date: Wed, 18 Jan 2017 19:38:56 +1100 -Subject: [PATCH] fix msys build - -Taken from: -https://github.com/Alexpux/Qt-builds/blob/master/patches/qt/5.0.x/qt-5.0.0-fix-build-under-msys.patch - -diff --git a/Source/WebCore/DerivedSources.pri b/Source/WebCore/DerivedSources.pri -index 1111111..2222222 100644 ---- a/Source/WebCore/DerivedSources.pri -+++ b/Source/WebCore/DerivedSources.pri -@@ -752,7 +752,7 @@ IDL_ATTRIBUTES_FILE = $$PWD/bindings/scripts/IDLAttributes.txt - preprocessIdls.input = IDL_ATTRIBUTES_FILE - preprocessIdls.script = $$PREPROCESS_IDLS_SCRIPT - # FIXME : We need to use only perl at some point. --win_cmd_shell: preprocessIdls.commands = type nul > $$IDL_FILES_TMP $$EOC -+win_cmd_shell: preprocessIdls.commands = cat /dev/null > $$IDL_FILES_TMP $$EOC - else: preprocessIdls.commands = cat /dev/null > $$IDL_FILES_TMP $$EOC - for(binding, IDL_BINDINGS) { - # We need "$$binding" instead of "$$binding ", because Windows' echo writes trailing whitespaces. (http://wkb.ug/88304) - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Martchus <martchus@gmx.net> -Date: Sun, 25 Sep 2016 22:21:54 +0200 -Subject: [PATCH] Include intrin.h for declaration of _mm_mfence - -taken from: -https://aur.archlinux.org/cgit/aur.git/tree/0007-Include-intrin.h-for-declaration-of-_mm_mfence.patch?h=mingw-w64-qt5-webkit - -diff --git a/Source/WTF/wtf/Atomics.h b/Source/WTF/wtf/Atomics.h -index 1111111..2222222 100644 ---- a/Source/WTF/wtf/Atomics.h -+++ b/Source/WTF/wtf/Atomics.h -@@ -68,6 +68,8 @@ - #elif !COMPILER(GCC) - extern "C" void _ReadWriteBarrier(void); - #pragma intrinsic(_ReadWriteBarrier) -+#else -+#include <intrin.h> - #endif - #include <windows.h> - #elif OS(QNX) diff --git a/plugins/examples/qt5-freeze/qtwebkit.mk b/plugins/examples/qt5-freeze/qtwebkit.mk deleted file mode 100644 index d61dd9a..0000000 --- a/plugins/examples/qt5-freeze/qtwebkit.mk +++ /dev/null @@ -1,25 +0,0 @@ -# This file is part of MXE. See LICENSE.md for licensing information. - -PKG := qtwebkit -$(PKG)_WEBSITE := https://www.qt.io/ -$(PKG)_DESCR := Qt -$(PKG)_IGNORE := -$(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := a46cf7c89339645f94a5777e8ae5baccf75c5fc87ab52c9dafc25da3327b5f03 -$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch))) -$(PKG)_SUBDIR = $(subst qtbase,qtwebkit,$(qtbase_SUBDIR)) -$(PKG)_FILE = $(subst qtbase,qtwebkit,$(qtbase_FILE)) -$(PKG)_URL = $(subst /submodules/,/,$(subst official_releases/qt,community_releases,$(subst qtbase,qtwebkit,$(qtbase_URL)))) -$(PKG)_DEPS := cc qtbase qtmultimedia sqlite - -define $(PKG)_UPDATE - echo $(qtbase_VERSION) -endef - -define $(PKG)_BUILD_SHARED - # looks for build tools with .exe suffix and tries to use win_flex - $(SED) -i 's,\.exe,,' '$(SOURCE_DIR)/Tools/qmake/mkspecs/features/functions.prf' - cd '$(BUILD_DIR)' && mkdir -p .git && $(QMAKE_EXECUTABLE) FLEX=flex '$(SOURCE_DIR)' - $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' - $(MAKE) -C '$(BUILD_DIR)' -j 1 install -endef |