Skip to content
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

Remove cmake_minimum_required from toolchain files #412

Merged
merged 1 commit into from
Jul 23, 2024

Conversation

thewtex
Copy link
Contributor

@thewtex thewtex commented Apr 15, 2024

This command is generally not included in toolchain files. It is used in
project configuration files that will consume the toolchain file. Also,
such a low value triggers warnings, support for <3.5.0 is being removed
from CMake.

@thewtex thewtex force-pushed the toolchain-cmake-minimum-required branch from 96789d1 to aee9c61 Compare April 15, 2024 13:50
@@ -1,8 +1,5 @@
# Cmake toolchain description file for the Makefile

# This is arbitrary, AFAIK, for now.
cmake_minimum_required(VERSION 3.4.0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The android NDK toolchain file does seem to include a cmake_minimum_version: https://android.googlesource.com/platform/ndk/+/master/build/cmake/android.toolchain.cmake#35

Are you sure this is not supposed to be here?

Perhaps we could bump to to 3.6 like the android one to avoid the warning you mention?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it is not supposed to be there. Was it originally included for a specific reason?

See the examples in the official CMake documentation. Or these examples.

The warning I pointed to is one example of unintended consequences, but there are more. CMake changes its behavior based on policies, which are impacted by a cmake_minimum_required call.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That line as been there since the initial commit (c80964d).

I don't know it was included, it looks like we would have to go back to yury's wasmception to find out why.

It sounds like you know what you are talking about cmake-wise, and also emscripten's cmake does not specify cmake_minimum_required so I'm tempted to just approve this.

Lets wait for @pchickey to chime in though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your attention and consideration.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that this change is likely the right one to make.

@sbc100 sbc100 requested a review from pchickey April 15, 2024 20:13
Copy link
Collaborator

@abrown abrown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, let's go with this. I'm not as familiar with CMake conventions as I would like but it seems like there is some consensus to remove this. I can see how a user of an already-built toolchain using these files doesn't really care what version of CMake was used to compile the toolchain. And CMake policy CMP0000 only really talks about requiring minimum versions in CMakeLists.txt.

@thewtex, can you remove this line from the wasi-sdk-p2.cmake file as well?

This command is generally not included in toolchain files. It is used in
project configuration files that will consume the toolchain file. Also,
such a low value triggers warnings, support for <3.5.0 is being removed
from CMake.
@thewtex thewtex force-pushed the toolchain-cmake-minimum-required branch from d0706b1 to f7dbeaf Compare July 23, 2024 14:02
@thewtex
Copy link
Contributor Author

thewtex commented Jul 23, 2024

@thewtex, can you remove this line from the wasi-sdk-p2.cmake file as well?

@abrown 👍 rebased and done.

@abrown abrown merged commit fef66e3 into WebAssembly:main Jul 23, 2024
7 checks passed
@thewtex thewtex deleted the toolchain-cmake-minimum-required branch July 23, 2024 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants