-
-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set/Enforce Minimum supported macOS version #20459
Comments
The Qt docs say that Qt sets the minimum required target to CMAKE_OSX_DEPLOYMENT_TARGET. set(MACOSX_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) is required for substituting the |
@Kolcha Thoughts?! - depending on the Qt version being used, the supported platform will vary....Do you think we should just explicitly set the minimum version in the |
I'm not a macOS/Apple developer at all, I'm just an enthusiast who owned a MacBook for a long time (~7 years) and has some fun with Qt :) so, don't expect an "expert" answer from me. first of all, CMAKE_OSX_DEPLOYMENT_TARGET is just one of the standard CMake variables, it has nothing to do with Qt. based on my experience and many pitfalls I faced, this variable is vital, at least if you want to get a "really portable" (works on many devices) application. it definitely should be set during the build process, but can't tell too much about Info.plist, as even Apple doesn't follow their guides for the format of the values in this field. and it doesn't seem to be too important, the only "visible effect" from this - is when you try to open app on too old system its icon will be dimmed and overlayed with "unavailable" icon. it doesn't need to be the same as Qt defines, even less may work without the issues (but you should be careful, macOS is known for C runtime incompatibility, and it is even not taking into account required features that just may not exist in older runtime versions). reasonable minimum nowadays is macOS 12, as Xcode 15 produces binaries that can't be launched (app just crashes) on macOS 11 (at least for Qt-based app, tested personally) regardless of "deployment target" (what's behind that CMake variable). for qBittorrent I even recommend setting it to macOS 13, as qBittorrent extensively uses C++20 features, some of which may be implemented in runtime only starting with macOS 13. but again, this is very important at build time. Info.plist is just metadata who knows exactly used for. |
This is almost EOL & GHA Runners for this OS are being deprecated/removed!
Xcode's Minimum OS Requirements &/or C++XX were used previously to determine our support, for example:
https://www.qbittorrent.org/news#thursday-january-19th-2021---qbittorrent-v4.3.3-release |
Also in my OP - I mentioned #19066 (comment) which seems to indicate that minimum target was being set to use the Image version being used by the GHA Runner. |
this deployment target doesn't assume that you must build app on such OS, this is minimum OS version where app can run. so, you can set it to the lower version than you are using for building, it's totally fine.
--
Sent from Mail.ru app for Android Thursday, 15 August 2024, 02:41PM +02:00 from xavier2k6 ***@***.*** :
…>reasonable minimum nowadays is macOS 12
This is almost EOL & GHA Runners for this OS are being deprecated/removed!
See: actions/runner-images#9255 or screenshot below.
----------------------------------------------------------------------
300882082-ac6ef1f1-8e18-4af1-a97f-d38cf82885df.png (view on web)
>for qBittorrent I even recommend setting it to macOS 13
Xcode's Minimum OS Requirements &/or C++XX were used previously to determine our support, for example:
>The reason Mojave isn't listed as officially supported is due to:
>* the requirements of providing universal builds.
>* macOS 10.14 Mojave is no longer supported by Apple
>>Xcode 12.2 and later is a requirement for building universal binaries. Earlier versions of Xcode don’t contain the support needed to build and test universal versions
>Xcode 12.2 requires > =macOS Catalina 10.15.4
#16910 (comment)
>Support for macOS 10.13 (High Sierra) was dropped because Xcode doesn't support C++17 for that version.
https://www.qbittorrent.org/news#thursday-january-19th-2021---qbittorrent-v4.3.3-release
—
Reply to this email directly, view it on GitHub , or unsubscribe .
You are receiving this because you were mentioned. Message ID: @ github . com>
|
as I saw in GHA workflow definitions and what is actually in result Info.plist, it is not set at all, so some SDK (not Qt!) defaults are used. usually they are too new.
even more, all the dependencies should be built with same or lower "deployment target" version than app (if nothing is set, this is fulfilled automatically), otherwise linker will let you know that something is wrong (but this is only warning, not error)
--
Sent from Mail.ru app for Android Thursday, 15 August 2024, 02:44PM +02:00 from xavier2k6 ***@***.*** :
…Also in my OP - I mentioned #19066 (comment)
which seems to indicate that minimum target was being set to use the Image version being used by the GHA Runner.
—
Reply to this email directly, view it on GitHub , or unsubscribe .
You are receiving this because you were mentioned. Message ID: @ github . com>
|
There is no minimum being set by qBittorrent currently, that's the thing. (as far as I can tell) So, we may need to do something explicitly like |
yes, or define it in GHA pipelines. nothing sets this option by default, it must be set explicitly, as any other cmake options.
--
Sent from Mail.ru app for Android Thursday, 15 August 2024, 02:49PM +02:00 from xavier2k6 ***@***.*** :
…>you can set it to the lower version than you are using for building, it's totally fine.
There is no minimum being set by qBittorrent currently, that's the thing. (as far as I can tell)
So, we may need to do something explicitly like set(CMAKE_OSX_DEPLOYMENT_TARGET = "13.5") in CMakeLists.txtt.
—
Reply to this email directly, view it on GitHub , or unsubscribe .
You are receiving this because you were mentioned. Message ID: @ github . com>
|
Hence this ticket, we did set it in qmake but support for qmake has since been removed. |
if I remember correctly, qmake had some variable with this information defined somewhere inside Qt, so it was convenient to propagate it wherever it's needed.
but there's no such variable for cmake, and you must define it explicitly (even it is the same as Qt uses).
btw, if I'm not wrong, Qt still sets it to macOS 11 (at least it was so quite recently)
--
Sent from Mail.ru app for Android Thursday, 15 August 2024, 02:54PM +02:00 from xavier2k6 ***@***.*** :
…>nothing sets this option by default
Hence this ticket, we did set it in qmake but support for qmake has since been removed.
—
Reply to this email directly, view it on GitHub , or unsubscribe .
You are receiving this because you were mentioned. Message ID: @ github . com>
|
It more than likely depends on Qt version being used - so as I said previously, that can vary. Supported Platforms: - Qt 6.9 Supported Platforms: - Qt 6.8 Supported Platforms: - Qt 6.7 Your comment from #14813 (comment) did suggest to set |
it should be set in either way, this is very important at build time. but now I would prefer to set it as command line option rather than hardcoded value in the root cmakelist.txt :)
--
Sent from Mail.ru app for Android Thursday, 15 August 2024, 03:08PM +02:00 from xavier2k6 ***@***.*** :
…>Qt still sets it to macOS 11 (at least it was so quite recently)
It more than likely depends on Qt version being used - so as I said previously, that can vary.
Supported Platforms: - Qt 6.9
macOS 12, 13, 14, 15
https://doc-snapshots.qt.io/qt6-dev/supported-platforms.html#macos
Supported Platforms: - Qt 6.8
macOS 12, 13, 14
https://doc-snapshots.qt.io/qt6-6.8/supported-platforms.html#macos
Supported Platforms: - Qt 6.7
macOS 11, 12, 13, 14
https://doc-snapshots.qt.io/qt6-6.7/supported-platforms.html#macos
Your comment from #14813 (comment) did suggest to set it explicitly.....
—
Reply to this email directly, view it on GitHub , or unsubscribe .
You are receiving this because you were mentioned. Message ID: @ github . com>
|
@Kolcha Willing to submit a PR? Perhaps setting |
maybe it's better if you will open it, as one of very active qBittorrent contributors. and I don't have any suitable environment to clone and build qBittorrent right now, and this may take quite much time to get it.
and opening PR assumes some maintenance of it (while discussion is ongoing), so active person is much better than "random contributor" in such case.
the only thing I can add, it's better to set to just 13, rather than 13.5 or 13.6. macOS doesn't have so breaking changes with minor version anymore since macOS 11. and it's even technically very unlikely that C (or other core runtime) significantly changes with these minor upgrades.
--
Sent from Mail.ru app for Android Thursday, 15 August 2024, 03:39PM +02:00 from xavier2k6 ***@***.*** :
…
@Kolcha Willing to submit a PR?
Perhaps setting 13.5.0 as minimum....it can be discussed by team/maintainer can have their say.
—
Reply to this email directly, view it on GitHub , or unsubscribe .
You are receiving this because you were mentioned. Message ID: @ github . com>
|
qBittorrent & operating system versions
qBittorrent:
4.x/master
OS: macOS
What is the problem?
In below PR, a Min. macOS version was set:
However it seemed that this PR may have not fully done what it was intended to do. See #19066 (comment)
In below PR, QMake Support was removed in
master
master
& we need to review/correctly set this.qBittorrent/src/app/CMakeLists.txt
Lines 91 to 92 in 7786e1b
Steps to reproduce
No response
Additional context
No response
Log(s) & preferences file(s)
No response
The text was updated successfully, but these errors were encountered: