summaryrefslogtreecommitdiffstats
path: root/src/buildtools/config/windows.pri
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtools/config/windows.pri')
-rw-r--r--src/buildtools/config/windows.pri89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/buildtools/config/windows.pri b/src/buildtools/config/windows.pri
new file mode 100644
index 000000000..dfa40e9dc
--- /dev/null
+++ b/src/buildtools/config/windows.pri
@@ -0,0 +1,89 @@
+include(common.pri)
+
+gn_args += \
+ use_sysroot=false \
+ enable_session_service=false \
+ ninja_use_custom_environment_files=false \
+ is_multi_dll_chrome=false \
+ win_linker_timing=true \
+ com_init_check_hook_disabled=true
+
+clang_cl {
+ clang_full_path = $$system_path($$which($${QMAKE_CXX}))
+ # Remove the "\bin\clang-cl.exe" part:
+ clang_dir = $$dirname(clang_full_path)
+ clang_prefix = $$join(clang_dir,,,"\..")
+ gn_args += \
+ is_clang=true \
+ use_ldd=true \
+ clang_use_chrome_plugins=false \
+ clang_base_path=\"$$system_path($$clean_path($$clang_prefix))\"
+} else {
+ gn_args += is_clang=false use_lld=false
+}
+
+qtConfig(webengine-developer-build) {
+ gn_args += \
+ is_win_fastlink=true
+
+ # Incremental linking doesn't work in release developer builds due to usage of /OPT:ICF
+ # by Chromium.
+ CONFIG(debug, debug|release) {
+ gn_args += \
+ use_incremental_linking=true
+ } else {
+ gn_args += \
+ use_incremental_linking=false
+ }
+} else {
+ gn_args += \
+ is_win_fastlink=false \
+ use_incremental_linking=false
+}
+
+defineTest(usingMSVC32BitCrossCompiler) {
+ CL_DIR =
+ for(dir, QMAKE_PATH_ENV) {
+ exists($$dir/cl.exe) {
+ CL_DIR = $$dir
+ break()
+ }
+ }
+ isEmpty(CL_DIR): {
+ warning(Cannot determine location of cl.exe.)
+ return(false)
+ }
+ CL_DIR = $$system_path($$CL_DIR)
+ CL_DIR = $$split(CL_DIR, \\)
+ CL_PLATFORM = $$last(CL_DIR)
+ equals(CL_PLATFORM, amd64_x86): return(true)
+ return(false)
+}
+
+msvc:contains(QT_ARCH, "i386"):!usingMSVC32BitCrossCompiler() {
+ # The 32 bit MSVC linker runs out of memory if we do not remove all debug information.
+ force_debug_info: gn_args -= symbol_level=1
+ gn_args *= symbol_level=0
+}
+
+msvc {
+ equals(MSVC_VER, 15.0) {
+ MSVS_VERSION = 2017
+ } else: equals(MSVC_VER, 16.0) {
+ MSVS_VERSION = 2019
+ } else {
+ error("Visual Studio compiler version \"$$MSVC_VER\" is not supported by Qt WebEngine")
+ }
+
+ gn_args += visual_studio_version=$$MSVS_VERSION
+
+ SDK_PATH = $$(WINDOWSSDKDIR)
+ VS_PATH= $$(VSINSTALLDIR)
+ gn_args += visual_studio_path=\"$$clean_path($$VS_PATH)\"
+ gn_args += windows_sdk_path=\"$$clean_path($$SDK_PATH)\"
+
+ GN_TARGET_CPU = $$gnArch($$QT_ARCH)
+ gn_args += target_cpu=\"$$GN_TARGET_CPU\"
+} else {
+ error("Qt WebEngine for Windows can only be built with a Microsoft Visual Studio C++ compatible compiler")
+}