• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#windowsobjective-ccocoaqtpython誰得phprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisiona5507cc91fb3c6395c021625acd00ef204bd5c8b (tree)
Time2023-01-28 07:38:28
AuthorFs <Fsu0413@vip....>
CommiterFs

Log Message

workaround QTBUG-102877

Signed-off-by: Fs <Fsu0413@vip.qq.com>

Change Summary

Incremental Difference

--- a/Compile/lib/Configuration.lua
+++ b/Compile/lib/Configuration.lua
@@ -475,19 +475,25 @@ conf.Qt.generateConfTable = function(self, host, job)
475475 if confHost.makefileTemplate == "win" then
476476 file = string.gsub(file, "%/", "\\")
477477 end
478- ret.EXTRAINSTALL = ret.EXTRAINSTALL .. copyCmd .. " " .. ret.BUILDDIR .. confHost.pathSep .. file .. " " .. installRoot .. "\n"
478+ ret.EXTRAINSTALL = ret.EXTRAINSTALL .. copyCmd .. ret.BUILDDIR .. confHost.pathSep .. file .. " " .. installRoot .. "\n"
479+ end
480+
481+ -- check for static builds
482+ local staticBuild = false
483+ for _, v in ipairs(confDetail.variant) do
484+ if (v == "-static") or (v == "-staticFull") then
485+ staticBuild = true
486+ break
487+ end
488+ end
489+
490+ -- hack for static Qt 6.2 series: they can't be used without workaround of qt.conf
491+ if staticBuild and (string.sub(confDetail.qtVersion, 1, 4) == "6.2.") then
492+ ret.EXTRAINSTALL = ret.EXTRAINSTALL .. copyCmd .. scriptPath .. confHost.pathSep .. ".." .. confHost.pathSep .. "qtconf-ForQt6.2Static" .. " " .. installRoot .. confHost.pathSep .. "bin" .. confHost.pathSep .. "qt.conf\n"
479493 end
480494
481495 -- OpenSSL libraries
482496 if confDetail.opensslConf then
483- -- check for static builds
484- local staticBuild = false
485- for _, v in ipairs(confDetail.variant) do
486- if (v == "-static") or (v == "-staticFull") then
487- staticBuild = true
488- break
489- end
490- end
491497 local opensslLibPath = conf.OpenSSL.configurations[confDetail.opensslConf][(staticBuild and "static" or "") .. "libPath"]
492498 if opensslLibPath then
493499 local targetDir = "lib"
--- a/qt6_deploy_host.sh
+++ b/qt6_deploy_host.sh
@@ -31,6 +31,7 @@ fi
3131
3232 mkdir "${PATH_TO_TARGET}/host"
3333 cp -R "${PATH_TO_HOST}/bin" "${PATH_TO_TARGET}/host/"
34+[ -e "${PATH_TO_TARGET}/host/bin/qt.conf" ] && rm "${PATH_TO_TARGET}/host/bin/qt.conf"
3435 [ -d "${PATH_TO_HOST}/libexec" ] && cp -R "${PATH_TO_HOST}/libexec" "${PATH_TO_TARGET}/host/"
3536 mkdir "${PATH_TO_TARGET}/host/lib"
3637 cp -R "${PATH_TO_HOST}/lib/cmake" "${PATH_TO_TARGET}/host/lib/"
@@ -59,6 +60,8 @@ chmod +x "${PATH_TO_TARGET}/bin/qmake"
5960 echo "\$script_dir_path/../host/bin/qtpaths -qtconf \"\$script_dir_path/target_qt.conf\" \$*"
6061 ) > "${PATH_TO_TARGET}/bin/qtpaths"
6162
63+chmod +x "${PATH_TO_TARGET}/bin/qtpaths"
64+
6265 # judge if sed / gsed is GNU sed
6366 GNU_SED=
6467
@@ -76,8 +79,6 @@ if [ x"$GNU_SED" = x ]; then
7679 GNU_SED=sed
7780 fi
7881
79-chmod +x "${PATH_TO_TARGET}/bin/qtpaths"
80-
8182 $GNU_SED -i -e 's,^HostPrefix=.*$,HostPrefix=../host,g' "${PATH_TO_TARGET}/bin/target_qt.conf"
8283 $GNU_SED -i -e 's,^HostData=.*$,HostData=..,g' "${PATH_TO_TARGET}/bin/target_qt.conf"
8384
--- a/qt6_deploy_host.vbs
+++ b/qt6_deploy_host.vbs
@@ -26,6 +26,7 @@ End If
2626
2727 fso.CreateFolder PATH_TO_TARGET & "\host"
2828 fso.CopyFolder PATH_TO_HOST & "\bin", PATH_TO_TARGET & "\host\bin"
29+If fso.FileExists(PATH_TO_TARGET & "\host\bin\qt.conf") Then fso.DeleteFile PATH_TO_TARGET & "\host\bin\qt.conf"
2930 If fso.FolderExists(PATH_TO_HOST & "\libexec") Then fso.CopyFolder PATH_TO_HOST & "\libexec", PATH_TO_TARGET & "\host\libexec"
3031 fso.CreateFolder PATH_TO_TARGET & "\host\lib"
3132 fso.CopyFolder PATH_TO_HOST & "\lib\cmake", PATH_TO_TARGET & "\host\lib\cmake"
--- /dev/null
+++ b/qtconf-ForQt6.2Static
@@ -0,0 +1,3 @@
1+[Paths]
2+Prefix=..
3+HostPrefix=..