# How to call ninja-build instead of ninja?

**URL:** https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352
**Category:** Usage
**Tags:** os:linux, gen:ninja
**Created:** [December 11, 2019, 4:36pm UTC](https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352 "2019-12-11T16:36:07Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![DavidA](https://discourse.cmake.org/user_avatar/discourse.cmake.org/davida/32/128_2.png) [@DavidA](https://discourse.cmake.org/u/DavidA)
#### Post date: [December 11, 2019, 4:36pm UTC](https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352/1 "2019-12-11T16:36:08Z")

</div>

I am using Visual Studio 2017 to remotely build software on a Centos 7 machine, using CMake.

On the Centos machine we installed the ninja-build package. So the ninja command is ‘ninja-build’.

How do I tell CMake to call ‘ninja-build’ instead of ‘ninja’?

---

<div class="post-metadata">

### Author: ![kyle.edwards](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/k/65b543/32.png) [@kyle.edwards](https://discourse.cmake.org/u/kyle.edwards)
#### Post date: [December 11, 2019, 4:40pm UTC](https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352/2 "2019-12-11T16:40:06Z")

</div>

Use the [`CMAKE_MAKE_PROGRAM`](https://cmake.org/cmake/help/latest/variable/CMAKE_MAKE_PROGRAM.html) variable:

```auto
$ cmake .. -G Ninja -DCMAKE_MAKE_PROGRAM=/path/to/ninja-build

```

---

<div class="post-metadata">

### Author: ![DavidA](https://discourse.cmake.org/user_avatar/discourse.cmake.org/davida/32/128_2.png) [@DavidA](https://discourse.cmake.org/u/DavidA)
#### Post date: [December 11, 2019, 4:44pm UTC](https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352/3 "2019-12-11T16:44:16Z")

</div>

Thank you

---

<div class="post-metadata">

### Author: ![brad.king](https://discourse.cmake.org/user_avatar/discourse.cmake.org/brad.king/32/11_2.png) [@brad.king](https://discourse.cmake.org/u/brad.king)
#### Post date: [December 11, 2019, 7:09pm UTC](https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352/4 "2019-12-11T19:09:01Z")

</div>

CMake should automatically find `ninja-build` by default if it is in the `PATH`.

With [MR 4091](https://gitlab.kitware.com/cmake/cmake/merge_requests/4091) CMake 3.17’s Ninja generator will select either `ninja` or `ninja-build` whichever appears first in `PATH`. CMake 3.16 and below use `ninja-build` if it is anywhere in `PATH` and otherwise tries plain `ninja`.

---

<div class="post-metadata">

### Author: ![DavidA](https://discourse.cmake.org/user_avatar/discourse.cmake.org/davida/32/128_2.png) [@DavidA](https://discourse.cmake.org/u/DavidA)
#### Post date: [December 12, 2019, 10:16am UTC](https://discourse.cmake.org/t/how-to-call-ninja-build-instead-of-ninja/352/5 "2019-12-12T10:16:39Z")

</div>

@brad.king Thanks, I’m using CMake 3.16.1 and it has indeed found ninja-build on the path. Works ok.
