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

Add support for Ninja Multi-Config #106

Merged
merged 3 commits into from
Sep 13, 2021

Conversation

KazNX
Copy link
Contributor

@KazNX KazNX commented Jul 15, 2021

The Ninja Multi-Config generator was introduced as part of CMake 3.17 supporting debug and release artefacts under the same build directory, like Xcode or Visual Studio. This change allows colcon to recognise Ninja Multi-Config as a mult-config generator and as a Ninja generator.

Note that in practice this change does not support an apt-get install of CMake on versions of current Ubuntu LTS releases - Unbutu 20.04 (latest current LTS) provided CMake version 3.16.

Change summary:

  • Add Ninja Multi-Config to the set of generators where is_multi_configuration_generator() is True

@KazNX
Copy link
Contributor Author

KazNX commented Jul 15, 2021

Checking failures. Not sure how to enforce these locally. I am running a linter.

@KazNX
Copy link
Contributor Author

KazNX commented Jul 15, 2021

I don't think the flake8 failures are due to code I've introduced in the PR. Please advise.

Kazys Stepanas added 2 commits August 30, 2021 13:41
- Add `Ninja Multi-Config` generator as a match for a `Ninja` generator
- Add `Ninja Multi-Config` to the set of generators where `is_multi_configuration_generator()` is `True`
Was already handled by existing code.
@KazNX KazNX force-pushed the feature/ninja-multi-config branch from 0eb6c21 to 77b5346 Compare August 30, 2021 03:43
@KazNX
Copy link
Contributor Author

KazNX commented Aug 30, 2021

PR has been rebased onto master fixing the CI check failures.

@hidmic hidmic added the enhancement New feature or request label Sep 10, 2021
Copy link
Contributor

@hidmic hidmic left a comment

Choose a reason for hiding this comment

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

Note that in practice this change does not support an apt-get install of CMake on versions of current Ubuntu LTS releases - Unbutu 20.04 (latest current LTS) provided CMake version 3.16.

Hmm, IIUC the change should be transparent for earlier versions -- the generator simply won't ever match.

@hidmic
Copy link
Contributor

hidmic commented Sep 10, 2021

@dirk-thomas thoughts before merging?

@KazNX
Copy link
Contributor Author

KazNX commented Sep 12, 2021

Note that in practice this change does not support an apt-get install of CMake on versions of current Ubuntu LTS releases - Unbutu 20.04 (latest current LTS) provided CMake version 3.16.

Hmm, IIUC the change should be transparent for earlier versions -- the generator simply won't ever match.

This was something I was thinking about. The explicitly check for Ninja Multi-Config is fine because we only want to report this explicit generator as being a multi-condig ninja generator.

The compatibility issue is more to make sure Ninja Multi-Config is recognised as also being Ninja.

When I was looking, I found this line (pre-existing this PR).

Note the check is if 'Ninja' in generator and not a straight equality test, so this will match both.

That said, in reviewing your comment I found this line is an equality test. Will fix.

@hidmic hidmic merged commit 9607ee8 into colcon:master Sep 13, 2021
@cottsay cottsay added this to the 0.2.27 milestone Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

None yet

3 participants