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

[feat] Adding support for CMake + Ninja #3101

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

OliverPerks
Copy link

Previously the CMake config would just run 'make'.
This commit runs 'cmake --build .' which enables you to specify different build systems within cmake. Specifically this is useful for Ninja, using the 'cmake -GNinja' flag. If no build system is set it will fall back to make.

Previously the CMake config would just run 'make'.
This commit runs 'cmake --build .' which enables you to specify different build systems within cmake.
Specifically this is useful for Ninja, using the 'cmake -GNinja' flag.
If no build system is set it will fall back to make.
@jenkins-cscs
Copy link
Collaborator

Can I test this patch?

@vkarak
Copy link
Contributor

vkarak commented Jan 30, 2024

I think the unit tests should be updated (I expect them to fail). Another question: does this change require a specific/recent version of CMake that would otherwise make reframe's backend break for users with older version? We could add a build system variable to control whether to emit make or cmake --build in this case.

@vkarak vkarak modified the milestones: ReFrame 4.6, ReFrame 4.7 Apr 10, 2024
@teojgo
Copy link
Contributor

teojgo commented Apr 11, 2024

This needs a little bit more thought. In particular, since we now assume that the build system is Make, all the options are passed to make verbatim. So if you pass the 'install' as an option the command will be make install. With the above syntax it would have to be changed to cmake --build . -t install -j <n> or cmake --build . -j -- install.

@vkarak vkarak modified the milestones: ReFrame 4.6, ReFrame 4.7 Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

None yet

4 participants