diff --git a/images/win/scripts/Installers/Install-LLVM.ps1 b/images/win/scripts/Installers/Install-LLVM.ps1 new file mode 100644 index 000000000..07c7c46e2 --- /dev/null +++ b/images/win/scripts/Installers/Install-LLVM.ps1 @@ -0,0 +1,10 @@ +################################################################################ +## File: Install-LLVM.ps1 +## Desc: Install the latest stable version of llvm and clang compilers +################################################################################ + +$llvmVersion = (Get-ToolsetContent).llvm.version +$latestChocoVersion = Get-LatestChocoPackageVersion -TargetVersion $llvmVersion -PackageName "llvm" +Choco-Install -PackageName llvm -ArgumentList "--version $latestChocoVersion" + +Invoke-PesterTests -TestFile "LLVM" diff --git a/images/win/scripts/Tests/LLVM.Tests.ps1 b/images/win/scripts/Tests/LLVM.Tests.ps1 new file mode 100644 index 000000000..a20fd9609 --- /dev/null +++ b/images/win/scripts/Tests/LLVM.Tests.ps1 @@ -0,0 +1,7 @@ +Describe "Clang/LLVM" { + It "Clang/LLVM installed and version is correct" { + $toolsetVersion = (Get-ToolsetContent).llvm.version + $clangVersion = clang --version + $clangVersion[0] | Should -BeLike "*${toolsetVersion}*" + } +} \ No newline at end of file diff --git a/images/win/scripts/Tests/Tools.Tests.ps1 b/images/win/scripts/Tests/Tools.Tests.ps1 index c5578bffd..0309d6da9 100644 --- a/images/win/scripts/Tests/Tools.Tests.ps1 +++ b/images/win/scripts/Tests/Tools.Tests.ps1 @@ -81,15 +81,6 @@ Describe "KubernetesTools" { } } -Describe "LLVM" { - It "" -TestCases @( - @{ ToolName = "clang" } - @{ ToolName = "clang++" } - ) { - "$ToolName --version" | Should -ReturnZeroExitCode - } -} - Describe "Mingw64" { It "" -TestCases @( @{ ToolName = "gcc" } diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index bf2c21ada..118fd6c3f 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -397,7 +397,6 @@ { "name": "gitversion.portable" }, { "name": "innosetup" }, { "name": "jq" }, - { "name": "llvm" }, { "name": "NuGet.CommandLine" }, { "name": "openssl.light", @@ -427,5 +426,8 @@ }, "mongodb": { "version": "5.0" + }, + "llvm": { + "version": "13" } } diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index 5cb45bbd4..7ddacfbec 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -429,7 +429,6 @@ { "name": "gitversion.portable" }, { "name": "innosetup" }, { "name": "jq" }, - { "name": "llvm" }, { "name": "NuGet.CommandLine" }, { "name": "openssl.light", @@ -459,5 +458,8 @@ }, "mongodb": { "version": "5.0" + }, + "llvm": { + "version": "13" } } diff --git a/images/win/windows2016.json b/images/win/windows2016.json index 0222a54f7..56b321706 100644 --- a/images/win/windows2016.json +++ b/images/win/windows2016.json @@ -206,7 +206,8 @@ "{{ template_dir }}/scripts/Installers/Install-Selenium.ps1", "{{ template_dir }}/scripts/Installers/Install-IEWebDriver.ps1", "{{ template_dir }}/scripts/Installers/Install-Apache.ps1", - "{{ template_dir }}/scripts/Installers/Install-Nginx.ps1" + "{{ template_dir }}/scripts/Installers/Install-Nginx.ps1", + "{{ template_dir }}/scripts/Installers/Install-LLVM.ps1" ] }, { diff --git a/images/win/windows2019.json b/images/win/windows2019.json index 5a0dfcf43..dac81ffab 100644 --- a/images/win/windows2019.json +++ b/images/win/windows2019.json @@ -267,7 +267,8 @@ "{{ template_dir }}/scripts/Installers/Configure-DynamicPort.ps1", "{{ template_dir }}/scripts/Installers/Configure-GDIProcessHandleQuota.ps1", "{{ template_dir }}/scripts/Installers/Configure-Shell.ps1", - "{{ template_dir }}/scripts/Installers/Enable-DeveloperMode.ps1" + "{{ template_dir }}/scripts/Installers/Enable-DeveloperMode.ps1", + "{{ template_dir }}/scripts/Installers/Install-LLVM.ps1" ] }, {