diff --git a/images/windows/scripts/docs-gen/Generate-SoftwareReport.ps1 b/images/windows/scripts/docs-gen/Generate-SoftwareReport.ps1 index 38cba2876..12491c9bd 100644 --- a/images/windows/scripts/docs-gen/Generate-SoftwareReport.ps1 +++ b/images/windows/scripts/docs-gen/Generate-SoftwareReport.ps1 @@ -117,6 +117,7 @@ $tools.AddToolVersion("WinAppDriver", $(Get-WinAppDriver)) $tools.AddToolVersion("WiX Toolset", $(Get-WixVersion)) $tools.AddToolVersion("yamllint", $(Get-YAMLLintVersion)) $tools.AddToolVersion("zstd", $(Get-ZstdVersion)) +$tools.AddToolVersion("Ninja", $(Get-NinjaVersion)) # CLI Tools $cliTools = $installedSoftware.AddHeader("CLI Tools") diff --git a/images/windows/scripts/docs-gen/SoftwareReport.Tools.psm1 b/images/windows/scripts/docs-gen/SoftwareReport.Tools.psm1 index c4672f82d..463e47b70 100644 --- a/images/windows/scripts/docs-gen/SoftwareReport.Tools.psm1 +++ b/images/windows/scripts/docs-gen/SoftwareReport.Tools.psm1 @@ -322,3 +322,7 @@ function Get-MongoshVersion { function Get-WSL2Version { return $((Get-AppxPackage -Name "MicrosoftCorporationII.WindowsSubsystemForLinux").version) } + +function Get-NinjaVersion { + return $(ninja --version) +} diff --git a/images/windows/scripts/tests/ChocoPackages.Tests.ps1 b/images/windows/scripts/tests/ChocoPackages.Tests.ps1 index fa086c37a..77b6089ca 100644 --- a/images/windows/scripts/tests/ChocoPackages.Tests.ps1 +++ b/images/windows/scripts/tests/ChocoPackages.Tests.ps1 @@ -103,3 +103,31 @@ Describe "ImageMagick" { "magick -version" | Should -ReturnZeroExitCode } } + +Describe "Ninja" { + BeforeAll { + $ninjaProjectPath = $(Join-Path $env:TEMP_DIR "ninjaproject") + New-item -Path $ninjaProjectPath -ItemType Directory -Force +@' +cmake_minimum_required(VERSION 3.10) +project(NinjaTest NONE) +'@ | Out-File -FilePath "$ninjaProjectPath/CMakeLists.txt" -Encoding utf8 + + $ninjaProjectBuildPath = $(Join-Path $ninjaProjectPath "build") + New-item -Path $ninjaProjectBuildPath -ItemType Directory -Force + Set-Location $ninjaProjectBuildPath + } + + It "Make a simple ninja project" { + "cmake -GNinja $ninjaProjectPath" | Should -ReturnZeroExitCode + } + + It "build.ninja file should exist" { + $buildFilePath = $(Join-Path $ninjaProjectBuildPath "build.ninja") + $buildFilePath | Should -Exist + } + + It "Ninja" { + "ninja --version" | Should -ReturnZeroExitCode + } +} diff --git a/images/windows/toolsets/toolset-2019.json b/images/windows/toolsets/toolset-2019.json index 38206a968..c3782dde5 100644 --- a/images/windows/toolsets/toolset-2019.json +++ b/images/windows/toolsets/toolset-2019.json @@ -418,7 +418,8 @@ "name": "cmake.install", "args": [ "--installargs", "ADD_CMAKE_TO_PATH=\"System\"" ] }, - { "name": "imagemagick" } + { "name": "imagemagick" }, + { "name": "ninja" } ] }, "node": { diff --git a/images/windows/toolsets/toolset-2022.json b/images/windows/toolsets/toolset-2022.json index a5e8d1657..7df92a5c1 100644 --- a/images/windows/toolsets/toolset-2022.json +++ b/images/windows/toolsets/toolset-2022.json @@ -339,7 +339,8 @@ "name": "cmake.install", "args": [ "--installargs", "ADD_CMAKE_TO_PATH=\"System\"" ] }, - { "name": "imagemagick" } + { "name": "imagemagick" }, + { "name": "ninja" } ] }, "node": { @@ -386,4 +387,4 @@ "pwsh": { "version": "7.4" } -} \ No newline at end of file +} diff --git a/images/windows/toolsets/toolset-2025.json b/images/windows/toolsets/toolset-2025.json index 3ae7cd19e..92db673a1 100644 --- a/images/windows/toolsets/toolset-2025.json +++ b/images/windows/toolsets/toolset-2025.json @@ -298,7 +298,8 @@ "name": "strawberryperl" , "args": [ "--version", "5.40.0.1" ] }, - { "name": "imagemagick" } + { "name": "imagemagick" }, + { "name": "ninja" } ] }, "node": { @@ -340,4 +341,4 @@ "pwsh": { "version": "7.4" } -} \ No newline at end of file +}