-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Even Better/Faster CMake #1339
Comments
Can a user specify if they want to use Ninja or Make in the case where both are installed? Maybe with |
At this time, I don't even know if Ninja works. If it does work, we'd need to look into how to specify it. I can see your sugesstion working, or perhaps the more generic:
So that we can expose the full power of CMake. Thoughts? |
So I installed Obviously having to export an environment variable isn't the most ideal approach but it works. I like your idea of adding the |
I have been running in CMake with ninja for some time because that is what the IDE I use does. No issues. |
We should consider also a large restructuring to break apart the large monolith of targets required by modern projects. |
I wanted to open a new discussion about Ninja vs Make, but then I found this thread so I'll just post here instead. For our project, Ninja turned out to be ~5x faster than Make. We use Zephyr and its default build system uses Ninja so it probably isn't a coincidence. However, for me, also the My super simple benchmarks: # Building Ref first with Ninja and then with Make.
# Ninja
$ time `fprime-util generate -DCMAKE_GENERATOR=Ninja && fprime-util build -j16`
real 0m23.051s
user 1m48.154s
sys 0m26.662s
# Make
$ time `fprime-util generate && fprime-util build -j16`
real 1m5.167s
user 1m30.670s
sys 0m29.443s |
cmake-improvements.md
# Example usage
fprime-util generate --cmake-args "-GNinja -DFPRIME_USE_PCH=ON"
fprime-util build -j$(nproc)
|
Feature Description
Building on top of #1260, this is the set of changes that is lower priority after the faster install setup. These (lower priority) items are:
Performance (build):
The text was updated successfully, but these errors were encountered: