diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2017-01-09 10:23:36 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:31:22 +0000 |
commit | 46167faa61861b01a0e4e8e774da9febc3c2956e (patch) | |
tree | 0d0074550506173a5671e1c0040b45f53e48cd6a | |
parent | b9e202b0f12f275d4aade98943df92bf67684f52 (diff) |
Imported WebKit commit 30997fb33975697a4af9cc6eef69967313d0ec9a
Change-Id: I8a2348dd9eb59df840dde6b66141d562aff29bf4
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
20 files changed, 96 insertions, 91 deletions
diff --git a/Source/JavaScriptCore/PlatformQt.cmake b/Source/JavaScriptCore/PlatformQt.cmake index 057929139..34a372756 100644 --- a/Source/JavaScriptCore/PlatformQt.cmake +++ b/Source/JavaScriptCore/PlatformQt.cmake @@ -30,17 +30,3 @@ if (WIN32) inspector/JSGlobalObjectInspectorController.cpp ) endif () - -if (MSVC) - file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore) - - set(JavaScriptCore_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore/preBuild.cmd") - file(REMOVE "${JavaScriptCore_PRE_BUILD_COMMAND}") - foreach (_directory ${JavaScriptCore_FORWARDING_HEADERS_DIRECTORIES}) - file(APPEND "${JavaScriptCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${JAVASCRIPTCORE_DIR}/${_directory}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore\" >nul 2>nul\n") - endforeach () - - set(JavaScriptCore_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore/postBuild.cmd") - file(WRITE "${JavaScriptCore_POST_BUILD_COMMAND}" "@xcopy /y /d /f \"${DERIVED_SOURCES_DIR}/JavaScriptCore/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore\" >nul 2>nul\n") - file(APPEND "${JavaScriptCore_POST_BUILD_COMMAND}" "@xcopy /y /d /f \"${DERIVED_SOURCES_DIR}/JavaScriptCore/inspector/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore\" >nul 2>nul\n") -endif () diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h index f2aa1f628..9ae58ef48 100644 --- a/Source/WTF/wtf/Platform.h +++ b/Source/WTF/wtf/Platform.h @@ -162,12 +162,18 @@ || defined(_X86_) \ || defined(__THW_INTEL) #define WTF_CPU_X86 1 + +#if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2) +#define WTF_CPU_X86_SSE2 1 +#endif + #endif /* CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit */ #if defined(__x86_64__) \ || defined(_M_X64) #define WTF_CPU_X86_64 1 +#define WTF_CPU_X86_SSE2 1 #endif /* CPU(ARM64) - Apple */ @@ -595,6 +601,10 @@ #define USE_CFURLCACHE 1 #endif +#if PLATFORM(QT) && OS(DARWIN) +#define USE_CF 1 +#endif + #if !defined(HAVE_ACCESSIBILITY) #if PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(EFL) #define HAVE_ACCESSIBILITY 1 diff --git a/Source/WTF/wtf/PlatformQt.cmake b/Source/WTF/wtf/PlatformQt.cmake index 1e64e8bb2..7efcd4015 100644 --- a/Source/WTF/wtf/PlatformQt.cmake +++ b/Source/WTF/wtf/PlatformQt.cmake @@ -52,13 +52,13 @@ if (WIN32) ) endif () -if (MSVC) - set(WTF_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WTF/postBuild.cmd") - file(WRITE "${WTF_POST_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WTF_DIR}/wtf/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF\" >nul 2>nul\n@xcopy /y /s /d /f \"${DERIVED_SOURCES_DIR}/WTF/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF\" >nul 2>nul\n") - file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF) -endif () - if (APPLE) + list(APPEND WTF_SOURCES + text/cf/AtomicStringImplCF.cpp + text/cf/StringCF.cpp + text/cf/StringImplCF.cpp + text/cf/StringViewCF.cpp + ) list(APPEND WTF_LIBRARIES ${COREFOUNDATION_LIBRARY} ) diff --git a/Source/WTF/wtf/text/ASCIIFastPath.h b/Source/WTF/wtf/text/ASCIIFastPath.h index e5b9d3be2..eb54828a2 100644 --- a/Source/WTF/wtf/text/ASCIIFastPath.h +++ b/Source/WTF/wtf/text/ASCIIFastPath.h @@ -27,7 +27,7 @@ #include <wtf/StdLibExtras.h> #include <wtf/text/LChar.h> -#if OS(DARWIN) && (CPU(X86) || CPU(X86_64)) +#if CPU(X86_SSE2) #include <emmintrin.h> #endif @@ -109,7 +109,7 @@ inline bool charactersAreAllASCII(const CharacterType* characters, size_t length inline void copyLCharsFromUCharSource(LChar* destination, const UChar* source, size_t length) { -#if OS(DARWIN) && (CPU(X86) || CPU(X86_64)) +#if CPU(X86_SSE2) const uintptr_t memoryAccessSize = 16; // Memory accesses on 16 byte (128 bit) alignment const uintptr_t memoryAccessMask = memoryAccessSize - 1; diff --git a/Source/WebCore/PlatformQt.cmake b/Source/WebCore/PlatformQt.cmake index 0661364c5..3b9e36bef 100644 --- a/Source/WebCore/PlatformQt.cmake +++ b/Source/WebCore/PlatformQt.cmake @@ -413,20 +413,14 @@ if (MSVC) "${WEBCORE_DIR}/ForwardingHeaders" "${WEBCORE_DIR}/platform/win" ) +endif () - file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore) - - set(WebCore_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/preBuild.cmd") - file(WRITE "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WEBCORE_DIR}/ForwardingHeaders/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") - foreach (_directory ${WebCore_FORWARDING_HEADERS_DIRECTORIES}) - file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_directory}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") - endforeach () - foreach (_file ${WebCore_FORWARDING_HEADERS_FILES}) - file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_file}\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") - endforeach () +if (APPLE) + list(APPEND WebCore_SOURCES + platform/VNodeTracker.cpp - set(WebCore_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/postBuild.cmd") - file(WRITE "${WebCore_POST_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${DERIVED_SOURCES_WEBCORE_DIR}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") + platform/cf/SharedBufferCF.cpp + ) endif () # From PlatformEfl.cmake diff --git a/Source/WebCore/platform/FileSystem.h b/Source/WebCore/platform/FileSystem.h index 8dc360dc2..f3844b8df 100644 --- a/Source/WebCore/platform/FileSystem.h +++ b/Source/WebCore/platform/FileSystem.h @@ -49,7 +49,7 @@ #endif #endif -#if USE(CF) || (PLATFORM(QT) && defined(Q_WS_MAC)) +#if USE(CF) || (PLATFORM(QT) && defined(Q_OS_MAC)) typedef struct __CFBundle* CFBundleRef; typedef const struct __CFData* CFDataRef; #endif @@ -75,7 +75,7 @@ typedef HMODULE PlatformModule; #elif PLATFORM(EFL) typedef Eina_Module* PlatformModule; #elif PLATFORM(QT) -#if defined(Q_WS_MAC) +#if defined(Q_OS_MAC) typedef CFBundleRef PlatformModule; #elif !defined(QT_NO_LIBRARY) typedef QLibrary* PlatformModule; diff --git a/Source/WebCore/platform/audio/SincResampler.cpp b/Source/WebCore/platform/audio/SincResampler.cpp index 9a9c54677..d27ac19ea 100644 --- a/Source/WebCore/platform/audio/SincResampler.cpp +++ b/Source/WebCore/platform/audio/SincResampler.cpp @@ -35,7 +35,7 @@ #include "AudioBus.h" #include <wtf/MathExtras.h> -#ifdef __SSE2__ +#if CPU(X86_SSE2) #include <emmintrin.h> #endif @@ -260,7 +260,7 @@ void SincResampler::process(AudioSourceProvider* sourceProvider, float* destinat { float input; -#ifdef __SSE2__ +#if CPU(X86_SSE2) // If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed seperately. while ((reinterpret_cast<uintptr_t>(inputP) & 0x0F) && n) { CONVOLVE_ONE_SAMPLE diff --git a/Source/WebCore/platform/audio/VectorMath.cpp b/Source/WebCore/platform/audio/VectorMath.cpp index f308e0312..7e8d44f3d 100644 --- a/Source/WebCore/platform/audio/VectorMath.cpp +++ b/Source/WebCore/platform/audio/VectorMath.cpp @@ -32,7 +32,7 @@ #include <Accelerate/Accelerate.h> #endif -#ifdef __SSE2__ +#if CPU(X86_SSE2) #include <emmintrin.h> #endif @@ -134,7 +134,7 @@ void vsma(const float* sourceP, int sourceStride, const float* scale, float* des { int n = framesToProcess; -#ifdef __SSE2__ +#if CPU(X86_SSE2) if ((sourceStride == 1) && (destStride == 1)) { float k = *scale; @@ -207,7 +207,7 @@ void vsmul(const float* sourceP, int sourceStride, const float* scale, float* de { int n = framesToProcess; -#ifdef __SSE2__ +#if CPU(X86_SSE2) if ((sourceStride == 1) && (destStride == 1)) { float k = *scale; @@ -278,7 +278,7 @@ void vsmul(const float* sourceP, int sourceStride, const float* scale, float* de sourceP += sourceStride; destP += destStride; } -#ifdef __SSE2__ +#if CPU(X86_SSE2) } #endif } @@ -287,7 +287,7 @@ void vadd(const float* source1P, int sourceStride1, const float* source2P, int s { int n = framesToProcess; -#ifdef __SSE2__ +#if CPU(X86_SSE2) if ((sourceStride1 ==1) && (sourceStride2 == 1) && (destStride == 1)) { // If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed separately. while ((reinterpret_cast<size_t>(source1P) & 0x0F) && n) { @@ -390,7 +390,7 @@ void vadd(const float* source1P, int sourceStride1, const float* source2P, int s source2P += sourceStride2; destP += destStride; } -#ifdef __SSE2__ +#if CPU(X86_SSE2) } #endif } @@ -400,7 +400,7 @@ void vmul(const float* source1P, int sourceStride1, const float* source2P, int s int n = framesToProcess; -#ifdef __SSE2__ +#if CPU(X86_SSE2) if ((sourceStride1 == 1) && (sourceStride2 == 1) && (destStride == 1)) { // If the source1P address is not 16-byte aligned, the first several frames (at most three) should be processed separately. while ((reinterpret_cast<uintptr_t>(source1P) & 0x0F) && n) { @@ -473,7 +473,7 @@ void vmul(const float* source1P, int sourceStride1, const float* source2P, int s void zvmul(const float* real1P, const float* imag1P, const float* real2P, const float* imag2P, float* realDestP, float* imagDestP, size_t framesToProcess) { unsigned i = 0; -#ifdef __SSE2__ +#if CPU(X86_SSE2) // Only use the SSE optimization in the very common case that all addresses are 16-byte aligned. // Otherwise, fall through to the scalar code below. if (!(reinterpret_cast<uintptr_t>(real1P) & 0x0F) @@ -531,7 +531,7 @@ void vsvesq(const float* sourceP, int sourceStride, float* sumP, size_t framesTo int n = framesToProcess; float sum = 0; -#ifdef __SSE2__ +#if CPU(X86_SSE2) if (sourceStride == 1) { // If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed separately. while ((reinterpret_cast<uintptr_t>(sourceP) & 0x0F) && n) { @@ -596,7 +596,7 @@ void vmaxmgv(const float* sourceP, int sourceStride, float* maxP, size_t framesT int n = framesToProcess; float max = 0; -#ifdef __SSE2__ +#if CPU(X86_SSE2) if (sourceStride == 1) { // If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed separately. while ((reinterpret_cast<uintptr_t>(sourceP) & 0x0F) && n) { diff --git a/Source/WebCore/platform/qt/FileSystemQt.cpp b/Source/WebCore/platform/qt/FileSystemQt.cpp index 97be786d4..363029406 100644 --- a/Source/WebCore/platform/qt/FileSystemQt.cpp +++ b/Source/WebCore/platform/qt/FileSystemQt.cpp @@ -251,7 +251,7 @@ int writeToFile(PlatformFileHandle handle, const char* data, int length) bool unloadModule(PlatformModule module) { -#if defined(Q_WS_MAC) +#if defined(Q_OS_MAC) CFRelease(module); return true; diff --git a/Source/WebCore/platform/qt/RenderThemeQStyle.cpp b/Source/WebCore/platform/qt/RenderThemeQStyle.cpp index b9c6953fa..7373acca7 100644 --- a/Source/WebCore/platform/qt/RenderThemeQStyle.cpp +++ b/Source/WebCore/platform/qt/RenderThemeQStyle.cpp @@ -136,7 +136,7 @@ RenderThemeQStyle::RenderThemeQStyle(Page* page) { int buttonPixelSize = 0; m_qStyle->getButtonMetrics(&m_buttonFontFamily, &buttonPixelSize); -#ifdef Q_WS_MAC +#ifdef Q_OS_MAC m_buttonFontPixelSize = buttonPixelSize; #endif } @@ -294,7 +294,7 @@ void RenderThemeQStyle::adjustButtonStyle(StyleResolver& styleResolver, RenderSt // Ditch the border. style.resetBorder(); -#ifdef Q_WS_MAC +#ifdef Q_OS_MAC if (style.appearance() == PushButtonPart) { // The Mac ports ignore the specified height for <input type="button"> elements // unless a border and/or background CSS property is also specified. @@ -305,7 +305,7 @@ void RenderThemeQStyle::adjustButtonStyle(StyleResolver& styleResolver, RenderSt FontCascadeDescription fontDescription = style.fontDescription(); fontDescription.setIsAbsoluteSize(true); -#ifdef Q_WS_MAC // Use fixed font size and family on Mac (like Safari does) +#ifdef Q_OS_MAC // Use fixed font size and family on Mac (like Safari does) fontDescription.setSpecifiedSize(m_buttonFontPixelSize); fontDescription.setComputedSize(m_buttonFontPixelSize); #else @@ -607,6 +607,11 @@ ControlPart RenderThemeQStyle::initializeCommonQStyleOptions(QStyleFacadeOption option.state &= ~(QStyleFacade::State_HasFocus | QStyleFacade::State_MouseOver); option.state |= QStyleFacade::State_Enabled; +#ifdef Q_OS_MAC + // to render controls in correct positions we also should set the State_Active flag + option.state |= QStyleFacade::State_Active; +#endif + if (isReadOnlyControl(o)) // Readonly is supported on textfields. option.state |= QStyleFacade::State_ReadOnly; diff --git a/Source/WebCore/rendering/SimpleLineLayout.cpp b/Source/WebCore/rendering/SimpleLineLayout.cpp index f35f61465..9a2ef6a18 100644 --- a/Source/WebCore/rendering/SimpleLineLayout.cpp +++ b/Source/WebCore/rendering/SimpleLineLayout.cpp @@ -532,6 +532,7 @@ public: } bool operator!=(const FragmentForwardIterator& other) const { return m_fragmentIndex != other.m_fragmentIndex; } + bool operator==(const FragmentForwardIterator& other) const { return m_fragmentIndex == other.m_fragmentIndex; } unsigned operator*() const { return m_fragmentIndex; } private: diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake index 85b427b36..30b1a377a 100644 --- a/Source/WebKit/PlatformQt.cmake +++ b/Source/WebKit/PlatformQt.cmake @@ -659,15 +659,6 @@ if (MSVC) ${DERIVED_SOURCES_WEBKIT_DIR} ) - set(WebKit_POST_BUILD_COMMAND "${DERIVED_SOURCES_WEBKIT_DIR}/postBuild.cmd") - file(WRITE "${WebKit_POST_BUILD_COMMAND}" "@xcopy /y /d /i /f \"${CMAKE_CURRENT_SOURCE_DIR}/qt/Api/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebkit\" >nul 2>nul\n") - file(APPEND "${WebKit_POST_BUILD_COMMAND}" "@xcopy /y /d /i /f \"${CMAKE_CURRENT_SOURCE_DIR}/qt/WidgetApi/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebkitWidgets\" >nul 2>nul\n") - add_custom_command(TARGET WebKit POST_BUILD - COMMAND ${WebKit_POST_BUILD_COMMAND} - VERBATIM - DEPENDS ${WebKit_POST_BUILD_COMMAND} - ) - ADD_PRECOMPILED_HEADER("WebKitWidgetsPrefix.h" "qt/WebKitWidgetsPrefix.cpp" WebKitWidgets_SOURCES) endif () diff --git a/Source/WebKit/qt/Api/qwebhistory.cpp b/Source/WebKit/qt/Api/qwebhistory.cpp index d270c2cc3..6c5934156 100644 --- a/Source/WebKit/qt/Api/qwebhistory.cpp +++ b/Source/WebKit/qt/Api/qwebhistory.cpp @@ -295,11 +295,9 @@ void QWebHistory::clear() lst->setCapacity(0); lst->setCapacity(capacity); //revert capacity - // FIXME: check me - WebCore::HistoryItem* currentPtr = current.leakRef(); - if (currentPtr) { - lst->addItem(*currentPtr); //insert old current item - lst->goToItem(currentPtr); //and set it as current again + if (current) { + lst->addItem(*current); // insert old current item + lst->goToItem(current.get()); // and set it as current again } d->page()->updateNavigationActions(); @@ -583,7 +581,7 @@ QDataStream& operator>>(QDataStream& source, QWebHistory& history) if (version != HistoryStreamVersion) { // We do not try to decode previous history stream versions. // Make sure that our history is cleared and mark the rest of the stream as invalid. - ASSERT(history.count() == 1); + ASSERT(history.count() <= 1); source.setStatus(QDataStream::ReadCorruptData); return source; } diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp index 9fcddeb55..62b2f38be 100644 --- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp +++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp @@ -398,6 +398,11 @@ QWebElement QWebFrameAdapter::documentElement() const return QWebElement(doc->documentElement()); } +QWebElement QWebFrameAdapter::ownerElement() const +{ + return QWebElement(frame->ownerElement()); +} + QString QWebFrameAdapter::title() const { if (frame->document()) diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h index 026b2fb26..42e02459d 100644 --- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h +++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h @@ -151,6 +151,7 @@ public: QWebHitTestResultPrivate* hitTestContent(const QPoint&) const; QWebElement documentElement() const; + QWebElement ownerElement() const; QString title() const; void clearCoreFrame(); QUrl baseUrl() const; diff --git a/Source/WebKit/qt/WidgetApi/qwebframe.cpp b/Source/WebKit/qt/WidgetApi/qwebframe.cpp index b62557eb1..30a58de5d 100644 --- a/Source/WebKit/qt/WidgetApi/qwebframe.cpp +++ b/Source/WebKit/qt/WidgetApi/qwebframe.cpp @@ -760,6 +760,11 @@ QWebElement QWebFrame::documentElement() const return d->documentElement(); } +QWebElement QWebFrame::ownerElement() const +{ + return d->ownerElement(); +} + /*! \since 4.6 Returns a new list of elements matching the given CSS selector \a selectorQuery. diff --git a/Source/WebKit/qt/WidgetApi/qwebframe.h b/Source/WebKit/qt/WidgetApi/qwebframe.h index 1c3cb07c3..a3374ff13 100644 --- a/Source/WebKit/qt/WidgetApi/qwebframe.h +++ b/Source/WebKit/qt/WidgetApi/qwebframe.h @@ -197,6 +197,7 @@ public: QSize contentsSize() const; QWebElement documentElement() const; + QWebElement ownerElement() const; QWebElementCollection findAllElements(const QString &selectorQuery) const; QWebElement findFirstElement(const QString &selectorQuery) const; diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake index 5d2c315b4..b46d92c3d 100644 --- a/Source/cmake/OptionsQt.cmake +++ b/Source/cmake/OptionsQt.cmake @@ -3,27 +3,6 @@ include(ECMPackageConfigHelpers) include(ECMQueryQmake) set(ECM_MODULE_DIR ${CMAKE_MODULE_PATH}) -include(KDEInstallDirs) - -set(QT_CONAN_DIR "" CACHE PATH "Directory containing conanbuildinfo.cmake and conanfile.txt") -if (QT_CONAN_DIR) - include("${QT_CONAN_DIR}/conanbuildinfo.cmake") - conan_basic_setup() - - install(CODE " - set(_conan_imports_dest \${CMAKE_INSTALL_PREFIX}) - if (DEFINED ENV{DESTDIR}) - get_filename_component(_absolute_destdir \$ENV{DESTDIR} ABSOLUTE) - string(REGEX REPLACE \"^[A-z]:\" \"\" _conan_imports_dest \${CMAKE_INSTALL_PREFIX}) - set(_conan_imports_dest \"\${_absolute_destdir}\${_conan_imports_dest}\") - endif () - - execute_process( - COMMAND conan imports -f \"${QT_CONAN_DIR}/conanfile.txt\" --dest \${_conan_imports_dest} - WORKING_DIRECTORY \"${QT_CONAN_DIR}\" - ) - ") -endif () set(STATIC_DEPENDENCIES_CMAKE_FILE "${CMAKE_BINARY_DIR}/QtStaticDependencies.cmake") if (EXISTS ${STATIC_DEPENDENCIES_CMAKE_FILE}) @@ -652,3 +631,34 @@ endif () set_package_properties(Ruby PROPERTIES TYPE REQUIRED) set_package_properties(Qt5PrintSupport PROPERTIES PURPOSE "Required for ENABLE_PRINT_SUPPORT=ON") feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + +query_qmake(qt_install_prefix_dir QT_INSTALL_PREFIX) +if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${qt_install_prefix_dir}" CACHE PATH "Install path prefix, prepended onto install directories." FORCE) +endif () + +include(KDEInstallDirs) + +if (NOT qt_install_prefix_dir STREQUAL "${CMAKE_INSTALL_PREFIX}") + set(KDE_INSTALL_USE_QT_SYS_PATHS OFF) +endif () + +set(QT_CONAN_DIR "" CACHE PATH "Directory containing conanbuildinfo.cmake and conanfile.txt") +if (QT_CONAN_DIR) + include("${QT_CONAN_DIR}/conanbuildinfo.cmake") + conan_basic_setup() + + install(CODE " + set(_conan_imports_dest \${CMAKE_INSTALL_PREFIX}) + if (DEFINED ENV{DESTDIR}) + get_filename_component(_absolute_destdir \$ENV{DESTDIR} ABSOLUTE) + string(REGEX REPLACE \"^[A-z]:\" \"\" _conan_imports_dest \${CMAKE_INSTALL_PREFIX}) + set(_conan_imports_dest \"\${_absolute_destdir}\${_conan_imports_dest}\") + endif () + + execute_process( + COMMAND conan imports -f \"${QT_CONAN_DIR}/conanfile.txt\" --dest \${_conan_imports_dest} + WORKING_DIRECTORY \"${QT_CONAN_DIR}\" + ) + ") +endif () diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake index dd1625bf5..53f294abb 100644 --- a/Source/cmake/WebKitMacros.cmake +++ b/Source/cmake/WebKitMacros.cmake @@ -318,8 +318,7 @@ macro(WEBKIT_CREATE_FORWARDING_HEADER _target_directory _file) endmacro() macro(WEBKIT_CREATE_FORWARDING_HEADERS _framework) - # On Windows, we copy the entire contents of forwarding headers. - if (NOT MSVC) + if (NOT ${PORT} STREQUAL "Win") set(_processing_directories 0) set(_processing_files 0) set(_target_directory "${DERIVED_SOURCES_DIR}/ForwardingHeaders/${_framework}") diff --git a/Tools/qmake/projects/run_cmake.pro b/Tools/qmake/projects/run_cmake.pro index 14c248ced..75934e687 100644 --- a/Tools/qmake/projects/run_cmake.pro +++ b/Tools/qmake/projects/run_cmake.pro @@ -27,7 +27,6 @@ build_pass|!debug_and_release { CMAKE_BUILD_TYPE=$$configuration \ CMAKE_TOOLCHAIN_FILE=$$toolchain_file \ CMAKE_PREFIX_PATH=\"$$[QT_INSTALL_PREFIX];$$ROOT_QT_BUILD_DIR/qtbase;$$ROOT_QT_BUILD_DIR/qtlocation;$$ROOT_QT_BUILD_DIR/qtsensors\" \ - CMAKE_INSTALL_PREFIX=\"$$[QT_INSTALL_PREFIX]\" \ USE_LIBHYPHEN=OFF static: CMAKE_CONFIG += USE_THIN_ARCHIVES=OFF |