symforce-org / symforce

Fast symbolic computation, code generation, and nonlinear optimization for robotics
https://symforce.org
Apache License 2.0
1.41k stars 145 forks source link

Use `ninja` build tool #331

Closed KOLANICH closed 1 year ago

KOLANICH commented 1 year ago

Is your feature request related to a problem? Please describe. ninja is a build tool that tries to do building faster than make by tracking dependency graph and changes in the files. It may make sense to use it for building.

Describe the solution you'd like -GNinja argument for CMake and ninja instead of `make.

aaron-skydio commented 1 year ago

We're also fans of ninja :)

But, we generally aren't trying to force defaults on users or make them install more than necessary. In particular, although we haven't really tested this, we don't want to stop people from using e.g. generators from various IDEs and such.

You're welcome to set -GNinja while running the CMake build, or use the CMAKE_GENERATOR environment variable (I've built SymForce with Ninja this way) - if something doesn't work on Ninja that's also something we should fix, feel free to open an issue