From 47dc335e6e596faadbbc167b549cd37472f6dec3 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 1 Oct 2019 12:36:17 -0700 Subject: [PATCH] Update to minimum CMake version of 3.14 (dotnet/coreclr#26777) * 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 --- docs/coreclr/building/linux-instructions.md | 20 +++++++++++--------- eng/build-test-job.yml | 4 ++++ eng/platform-matrix-managed-test-build.yml | 12 ++++++------ src/coreclr/CMakeLists.txt | 3 +-- src/coreclr/tests/CMakeLists.txt | 3 +-- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/docs/coreclr/building/linux-instructions.md b/docs/coreclr/building/linux-instructions.md index 8a50b8c62b3..6f8c5cfaf77 100644 --- a/docs/coreclr/building/linux-instructions.md +++ b/docs/coreclr/building/linux-instructions.md @@ -47,15 +47,15 @@ Docker Images 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 =========== @@ -67,6 +67,8 @@ Minimum RAM required to build is 1GB. The build is known to fail on 512 MB VMs ( Toolchain Setup --------------- +Add Kitware's APT feed to your configuration for a newer version of CMake. See their instructions at . + Install the following packages for the toolchain: - cmake diff --git a/eng/build-test-job.yml b/eng/build-test-job.yml index f77525295d5..4bab58c5244 100644 --- a/eng/build-test-job.yml +++ b/eng/build-test-job.yml @@ -109,6 +109,10 @@ jobs: - ${{ 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 diff --git a/eng/platform-matrix-managed-test-build.yml b/eng/platform-matrix-managed-test-build.yml index 16d8aba456c..d6a74d03399 100644 --- a/eng/platform-matrix-managed-test-build.yml +++ b/eng/platform-matrix-managed-test-build.yml @@ -46,7 +46,7 @@ jobs: 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') }}: @@ -70,7 +70,7 @@ jobs: 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') }}: @@ -96,7 +96,7 @@ jobs: 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') }}: @@ -119,7 +119,7 @@ jobs: 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') }}: @@ -142,7 +142,7 @@ jobs: 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 @@ -162,7 +162,7 @@ jobs: 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')) }}: diff --git a/src/coreclr/CMakeLists.txt b/src/coreclr/CMakeLists.txt index 6b4104fd48c..a4dcf764482 100644 --- a/src/coreclr/CMakeLists.txt +++ b/src/coreclr/CMakeLists.txt @@ -1,5 +1,4 @@ -# Verify minimum required version -cmake_minimum_required(VERSION 3.5.1) +cmake_minimum_required(VERSION 3.14) cmake_policy(SET CMP0042 NEW) diff --git a/src/coreclr/tests/CMakeLists.txt b/src/coreclr/tests/CMakeLists.txt index a55602917ee..0b453ced3e6 100644 --- a/src/coreclr/tests/CMakeLists.txt +++ b/src/coreclr/tests/CMakeLists.txt @@ -1,5 +1,4 @@ -# 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) -- 2.34.1