Increase required CMake version to 3.10#1013
Conversation
|
9219e5a to
c431aee
Compare
|
You are right, I missed the C++ part. I updated my second commit. |
c431aee to
6782033
Compare
|
Requesting minimum CMake 3.10 will limit build to Ubuntu 18.04 with default build tools and thus will affect Docker builds. Currently it is CMake 3.1.0 which is supported by Ubuntu 16.04 by default.
More comments from other PortAudio users are needed regarding this change as it will drop support for Ubuntu 16.04 builds with default tools. |
|
Ready to be merged. Unless you want to reduce the minimum required version to 3.5. This will trigger a deprecation warning. It is your decision. |
|
FWIW picking 3.10 as the min would close #1016 where as picking 3.5 as the minimum wouldn't |
|
Great - super annoying for cmake 4. Looking forward to see this merged |
|
I would humbly suggest making the much safer 3.5 min version upgrade first to fix the build in CMake >=4 without dropping support for any popular Ubuntu versions in docker builds out there (as pointed out by #1013 (comment)). The 3.10 min version upgrade should be addressed separately as it will take longer to verify that this can be done safely. |
|
Ubuntu 16.04 had EOL April 30, 2021. Given the amount of security updates since I would strongly recommend to upgrade. |
|
Please either merge this or give a clear feedback that you would prefer a CMake minimum version of 3.5. |
|
I hope @RossBencina and @philburk comment on this PR. I am personally ok with targeting 3.10. |
|
I am not a CMake expert. But I tend to agree with the suggestion from @martinblech to upgrade first to 3.5 to address the immediate compatibility issues. Then, maybe a week later, to upgrade to a minimum CMake of 3.10 so that we are more current. Then if someone needs the 3.5 CMake for Ubuntu 16.04 they can use the older commit. @RossBencina - what do you think? |
|
I created !1019 to bump CMake to 3.5. Would be great to have it merged. Getting a minor release would be the cherry on top, because than packages do not have to apply the patch manually. I will rebase this merge request once !1019 is merged. |
|
I agree to first merge #1019 (update to CMake 3.5). It's not 100% clear to me whether we should merge the 3.10 patch before or after the PA V19.8 release (the one we are trying to close off on). Is the Ubuntu 16.04 breakage the only downside of moving to 3.10? Would this actually affect anyone that we know of? While I am here, there are five open CMake related issues blocking the 19.8 release: https://github.com/PortAudio/portaudio/milestone/10 neither Phil nor I have the requisite experience to deal with CMake, and we have plenty to keep us busy elsewhere. We have been asking for help with the CMake build system for literally years now. At this point you guys are taking the piss. You're happy to lobby for CMake support and jump to action when things actually break, but no one is doing the maintenance work. If the situation does not improve, sooner or later I'm going to snap and delete CMake build support from the tree. |
Yes. For an older system, developer could alter |
|
This will have to be rebased because we merged #1019. |
6782033 to
9252d8e
Compare
9252d8e to
cf99b6a
Compare
|
Rebased, ready to be merged. I don't mind if you make a release before merging this. |
cf99b6a to
4675c98
Compare
philburk
left a comment
There was a problem hiding this comment.
Dmitry wrote regarding breaking Ubuntu 16
For an older system, developer could alter cmake_minimum_required(VERSION 3.5)
That is a compelling reason to approve.
Also developers on old systems can use an old version of PortAudio.
CMake 3.31 and newer warn that versions older than 3.10 are deprecated.
4675c98 to
4dd3ff1
Compare
|
Any reason to not merge this? |
|
@gruenich - Thanks for rebasing. It's nice to know that it passes the current CI tests. @RossBencina - what do you think about merging this now? |
|
We're going to merge this. It seems like CMake is on a constant upgrade cycle and people using CMake expect projects to stay compatible with the latest CMake. So there's no reason to lag too far behind. |
Newer version of CMake (since 3.30) warn that versions older than 3.10 are deprecated.