-
Notifications
You must be signed in to change notification settings - Fork 357
Increase required CMake version to 3.10 #1013
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
base: master
Are you sure you want to change the base?
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. |
CMake 3.31 and newer warn that versions older than 3.10 are deprecated.
cf99b6a
to
4675c98
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Newer version of CMake (since 3.30) warn that versions older than 3.10 are deprecated.