-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* [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 for clang-cl * version stuff * remove ws change * version stuff
- Loading branch information
Showing
59 changed files
with
404 additions
and
139 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
From 20b3eb0fd8b5f82cf432f2c06e7c5d3f533df0a5 Mon Sep 17 00:00:00 2001 | ||
From: Cristian Adam <cristian.adam@qt.io> | ||
Date: Thu, 03 Jun 2021 12:42:07 +0200 | ||
Subject: [PATCH] CMake: Add support for building with clang-cl | ||
|
||
qmake had support for building with clang-cl as the win32-clang-msvc mkspec. | ||
|
||
Task-number: QTBUG-89642 | ||
Task-number: QTBUG-88081 | ||
Change-Id: I0709c289f90fedb121620d1e67ef841602219816 | ||
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> | ||
--- | ||
|
||
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake | ||
index bb8b146..792276e 100644 | ||
--- a/cmake/QtBuild.cmake | ||
+++ b/cmake/QtBuild.cmake | ||
@@ -285,7 +285,9 @@ | ||
list(APPEND QT_DEFAULT_PLATFORM_DEFINITIONS WIN64 _WIN64) | ||
endif() | ||
if(MSVC) | ||
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") | ||
+ if (CLANG) | ||
+ set(QT_DEFAULT_MKSPEC win32-clang-msvc) | ||
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") | ||
set(QT_DEFAULT_MKSPEC win32-arm64-msvc) | ||
else() | ||
set(QT_DEFAULT_MKSPEC win32-msvc) | ||
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake | ||
index 0c57d9e..0eeccce 100644 | ||
--- a/cmake/QtFlagHandlingHelpers.cmake | ||
+++ b/cmake/QtFlagHandlingHelpers.cmake | ||
@@ -235,7 +235,7 @@ | ||
function(qt_set_msvc_cplusplus_options target visibility) | ||
# For MSVC we need to explicitly pass -Zc:__cplusplus to get correct __cplusplus. | ||
# Check qt_config_compile_test for more info. | ||
- if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1913) | ||
+ if(MSVC AND MSVC_VERSION GREATER_EQUAL 1913) | ||
target_compile_options("${target}" ${visibility} "-Zc:__cplusplus" "-permissive-") | ||
endif() | ||
endfunction() | ||
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt | ||
index 2c991f7..9f0c95e 100644 | ||
--- a/src/corelib/CMakeLists.txt | ||
+++ b/src/corelib/CMakeLists.txt | ||
@@ -263,4 +263,24 @@ | ||
# special case end | ||
) | ||
|
||
+if (MSVC AND CLANG) | ||
+ foreach(subarch sse4_1 rdrnd rdseed) | ||
+ if (TEST_subarch_${subarch}) | ||
+ qt_internal_add_simd_part(Core SIMD ${subarch} | ||
+ SOURCES | ||
+ global/qsimd.cpp | ||
+ ) | ||
+ endif() | ||
+ endforeach() | ||
+ | ||
+ foreach(subarch sse4_1 aesni) | ||
+ if (TEST_subarch_${subarch}) | ||
+ qt_internal_add_simd_part(Core SIMD ${subarch} | ||
+ SOURCES | ||
+ tools/qhash.cpp | ||
+ ) | ||
+ endif() | ||
+ endforeach() | ||
+endif() | ||
+ | ||
# special case begin | ||
diff --git a/src/corelib/global/qt_pch.h b/src/corelib/global/qt_pch.h | ||
index 5869751..6108b07 100644 | ||
--- a/src/corelib/global/qt_pch.h | ||
+++ b/src/corelib/global/qt_pch.h | ||
@@ -62,17 +62,22 @@ | ||
# define _POSIX_ | ||
# include <limits.h> | ||
# undef _POSIX_ | ||
-#endif | ||
-#include <qcoreapplication.h> | ||
-#include <qcoreevent.h> | ||
-#include <qiodevice.h> | ||
-#include <qlist.h> | ||
-#include <qvariant.h> /* All moc genereated code has this include */ | ||
-#include <qobject.h> | ||
-#include <qregularexpression.h> | ||
-#include <qscopedpointer.h> | ||
-#include <qshareddata.h> | ||
-#include <qstring.h> | ||
-#include <qstringlist.h> | ||
-#include <qtimer.h> | ||
+# if defined(Q_CC_CLANG) && defined(Q_CC_MSVC) | ||
+// See https://bugs.llvm.org/show_bug.cgi?id=41226 | ||
+# include <wchar.h> | ||
+__declspec(selectany) auto *__wmemchr_symbol_loader_value = wmemchr(L"", L'0', 0); | ||
+# endif | ||
+# endif | ||
+# include <qcoreapplication.h> | ||
+# include <qcoreevent.h> | ||
+# include <qiodevice.h> | ||
+# include <qlist.h> | ||
+# include <qvariant.h> /* All moc genereated code has this include */ | ||
+# include <qobject.h> | ||
+# include <qregularexpression.h> | ||
+# include <qscopedpointer.h> | ||
+# include <qshareddata.h> | ||
+# include <qstring.h> | ||
+# include <qstringlist.h> | ||
+# include <qtimer.h> | ||
#endif | ||
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt | ||
index 5fe4d59..04f58dd 100644 | ||
--- a/src/gui/CMakeLists.txt | ||
+++ b/src/gui/CMakeLists.txt | ||
@@ -577,6 +577,15 @@ | ||
) | ||
endif() | ||
|
||
+ if (MSVC AND CLANG AND TEST_subarch_sse4_1) | ||
+ qt_internal_add_simd_part(Gui SIMD sse4_1 | ||
+ SOURCES | ||
+ painting/qdrawhelper.cpp | ||
+ painting/qdrawhelper_sse2.cpp | ||
+ painting/qdrawhelper_ssse3.cpp | ||
+ ) | ||
+ endif() | ||
+ | ||
qt_internal_add_simd_part(Gui SIMD ssse3 | ||
SOURCES | ||
image/qimage_ssse3.cpp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h | ||
index 823b2057b..4a8cd4fa8 100644 | ||
--- a/src/corelib/kernel/qproperty.h | ||
+++ b/src/corelib/kernel/qproperty.h | ||
@@ -49,7 +49,7 @@ | ||
|
||
#include <QtCore/qpropertyprivate.h> | ||
|
||
-#if __has_include(<source_location>) && __cplusplus >= 202002L && !defined(Q_CLANG_QDOC) | ||
+#if __has_include(<source_location>) && __cplusplus >= 202002L && !defined(Q_CLANG_QDOC) && defined(__cpp_consteval) | ||
#include <source_location> | ||
#define QT_SOURCE_LOCATION_NAMESPACE std | ||
#define QT_PROPERTY_COLLECT_BINDING_LOCATION |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake | ||
index 0eeccce..2ee41c2 100644 | ||
--- a/cmake/QtFlagHandlingHelpers.cmake | ||
+++ b/cmake/QtFlagHandlingHelpers.cmake | ||
@@ -421,7 +421,7 @@ | ||
# cache variable with FORCE will overwrite the non-cache variable in this | ||
# function scope, but we need to use the original value before that change. | ||
foreach(flag_value IN LISTS flag_values) | ||
- string(${replace_type} "${flag_value}" "" ${flag_var_name} "${${flag_var_name}}") | ||
+ string(${replace_type} "${flag_value}" " " ${flag_var_name} "${${flag_var_name}}") | ||
endforeach() | ||
string(STRIP "${${flag_var_name}}" ${flag_var_name}) | ||
set(${flag_var_name} "${${flag_var_name}}" PARENT_SCOPE) | ||
@@ -433,7 +433,7 @@ | ||
# Work exclusively on cache variable value only. | ||
set(mod_flags $CACHE{${flag_var_name}}) | ||
foreach(flag_value IN LISTS flag_values) | ||
- string(${replace_type} "${flag_value}" "" mod_flags "${mod_flags}") | ||
+ string(${replace_type} "${flag_value}" " " mod_flags "${mod_flags}") | ||
endforeach() | ||
string(STRIP "${mod_flags}" mod_flags) | ||
get_property(help_text CACHE ${flag_var_name} PROPERTY HELPSTRING) |
Oops, something went wrong.