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 Ninja #11391

Open
5 of 17 tasks
purpleKarrot opened this issue Jan 15, 2025 · 2 comments · May be fixed by #11393
Open
5 of 17 tasks

Add Ninja #11391

purpleKarrot opened this issue Jan 15, 2025 · 2 comments · May be fixed by #11393

Comments

@purpleKarrot
Copy link

Tool name

Ninja

Tool license

Apache-2.0

Add or update?

  • Add
  • Update

Desired version

1.11 or later

Approximate size

400 kB

Brief description of tool

Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible.

URL for tool's homepage

https://ninja-build.org/

Provide a basic test case to validate the tool's functionality.

echo 'cmake_minimum_required(VERSION 3.10)' >> CMakeLists.txt
echo 'project(NinjaTest NONE)' >> CMakeLists.txt
cmake -GNinja .

Platforms where you need the tool

  • Azure DevOps
  • GitHub Actions

Runner images where you need the tool

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Can this tool be installed during the build?

apt-get install ninja-build

Tool installation time in runtime

No response

Are you willing to submit a PR?

Sure, if it has a chance of getting merged.

@purpleKarrot
Copy link
Author

The page about C++ Modules in the CMake documentation lists the following requirements:

Compiler

  • MSVC toolset 14.34 and newer (provided with Visual Studio 17.4 and newer)
  • LLVM/Clang 16.0 and newer
  • GCC 14 (for the in-development branch, after 2023-09-20) and newer

Build System Generator

  • Ninja
  • Visual Studio 17 2022

The latest runner images all contain both CMake and a compiler that is capable to use C++20 Modules.
The images for Windows contain a capable build system.

The images for Mac and Linux are missing a capable build system. Adding Ninja solves that issue.

purpleKarrot added a commit to purpleKarrot/runner-images that referenced this issue Jan 15, 2025
@purpleKarrot purpleKarrot linked a pull request Jan 15, 2025 that will close this issue
4 tasks
@hemanthmanga hemanthmanga self-assigned this Jan 15, 2025
@hemanthmanga
Copy link
Contributor

Hi @purpleKarrot, Thank you for bringing this issue to our attention. We are looking into this issue and will update you on this issue after investigating.

purpleKarrot added a commit to purpleKarrot/runner-images that referenced this issue Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants