* Update docker images to images with CMake 3.14+ installed.
* Update cmake native tools verison in global.json.
* Update to patched images.
* Upgrade minimum CMake version to 3.14
* Update Linux cross images.
* Init native tools on Windows test builds as well as product builds.
* Update container images used in documentation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
455f0a77a8fa76b2a0073d8d367ed7210a3d80df
These instructions might fall stale often enough as we change our images as our requirements change. The table below is just a quick refernce view of the images we use in different build scenarios. The ones that we use for our our official builds can be found in [the platform matrix](../../eng/platform-matrix.yml) of our Azure DevOps builds under the `container` key of the platform you plan to build.
-| OS | Target Arch | Image location | crossrootfs location | Clang Version |
-| --------------------------- | --------------- | --------------------------------------------------------------------------------------------------- | -------------------- | ------------- |
-| Ubuntu 16.04 | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-30f6673-20190814211612` | - | - |
-| Alpine | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.6-WithNode-cfdd435-20190521001804` | - | - |
-| CentOS 6 (build for RHEL 6) | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:centos-6-3e800f1-20190501005338` | - | - |
-| CentOS 7 (build for RHEL 7) | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343` | - | - |
-| Ubuntu 16.04 | arm32(armhf) | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-14.04-23cacb0-20190528233931` | `/crossrootfs/arm` | - |
-| Ubuntu 16.04 | arm64 (arm64v8) | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-cfdd435-20190520220848` | `/crossrootfs/arm64` | - |
-| Alpine | arm64 (arm64v8) | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine-406629a-20190520220848` | `/crossrootfs/arm64` | -clang5.0 |
+| OS | Target Arch | Image location | crossrootfs location | Clang Version |
+| --------------------------- | --------------- | ---------------------------------------------------------------------------------------------------- | -------------------- | ------------- |
+| Ubuntu 16.04 | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-bd0fe7c-20190923200211` | - | - |
+| Alpine | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.9-WithNode-0fc54a3-20190918214015` | - | - |
+| CentOS 6 (build for RHEL 6) | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:centos-6-50f0d02-20190918213956` | - | - |
+| CentOS 7 (build for RHEL 7) | x64 | `mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-50f0d02-20190918214028` | - | - |
+| Ubuntu 16.04 | arm32(armhf) | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-14.04-23cacb0-20190923200213` | `/crossrootfs/arm` | - |
+| Ubuntu 16.04 | arm64 (arm64v8) | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-cfdd435-20190923200213` | `/crossrootfs/arm64` | - |
+| Alpine | arm64 (arm64v8) | `mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine-406629a-20190923200213` | `/crossrootfs/arm64` | -clang5.0 |
Environment
===========
Toolchain Setup
---------------
+Add Kitware's APT feed to your configuration for a newer version of CMake. See their instructions at <https://apt.kitware.com/>.
+
Install the following packages for the toolchain:
- cmake
- ${{ if eq(parameters.osGroup, 'OSX') }}:
- script: sh eng/install-native-dependencies.sh $(osGroup)
displayName: Install native dependencies
+ - ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
+ # Necessary to install correct cmake version
+ - script: eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force
+ displayName: Install native dependencies
# Download product binaries directory
managedTestBuildOsGroup: ${{ parameters.armManagedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.armManagedTestBuildOsSubgroup }}
container:
- image: ubuntu-16.04-cross-14.04-23cacb0-20190528233931
+ image: ubuntu-16.04-cross-14.04-23cacb0-20190923200213
registry: mcr
helixQueues:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
managedTestBuildOsGroup: ${{ parameters.arm64ManagedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.arm64ManagedTestBuildOsSubgroup }}
container:
- image: ubuntu-16.04-cross-arm64-cfdd435-20190520220848
+ image: ubuntu-16.04-cross-arm64-cfdd435-20190923200213
registry: mcr
helixQueues:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
managedTestBuildOsGroup: ${{ parameters.x64ManagedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.x64ManagedTestBuildOsSubgroup }}
container:
- image: alpine-3.6-WithNode-cfdd435-20190521001804
+ image: alpine-3.9-WithNode-0fc54a3-20190918214015
registry: mcr
helixQueues:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
managedTestBuildOsGroup: ${{ parameters.arm64ManagedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.arm64ManagedTestBuildOsSubgroup }}
container:
- image: ubuntu-16.04-cross-arm64-alpine-406629a-20190520220848
+ image: ubuntu-16.04-cross-arm64-alpine-406629a-20190923200213
registry: mcr
helixQueues:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
managedTestBuildOsGroup: ${{ parameters.x64ManagedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.x64ManagedTestBuildOsSubgroup }}
container:
- image: centos-6-3e800f1-20190501005338
+ image: centos-6-50f0d02-20190918213956
registry: mcr
helixQueues:
# TODO: enable RedHat.6.Amd64.Open once https://github.com/dotnet/coreclr/issues/23580 is resolved
managedTestBuildOsGroup: ${{ parameters.x64ManagedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.x64ManagedTestBuildOsSubgroup }}
container:
- image: centos-7-3e800f1-20190501005343
+ image: centos-7-50f0d02-20190918214028
registry: mcr
helixQueues:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}:
-# Verify minimum required version
-cmake_minimum_required(VERSION 3.5.1)
+cmake_minimum_required(VERSION 3.14)
cmake_policy(SET CMP0042 NEW)
-# Require at least version 3.5.1 of CMake
-cmake_minimum_required(VERSION 3.5.1)
+cmake_minimum_required(VERSION 3.14)
cmake_policy(SET CMP0042 NEW)