Update to minimum CMake version of 3.14 (dotnet/coreclr#26777)
authorJeremy Koritzinsky <jekoritz@microsoft.com>
Tue, 1 Oct 2019 19:36:17 +0000 (12:36 -0700)
committerGitHub <noreply@github.com>
Tue, 1 Oct 2019 19:36:17 +0000 (12:36 -0700)
* 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
eng/build-test-job.yml
eng/platform-matrix-managed-test-build.yml
src/coreclr/CMakeLists.txt
src/coreclr/tests/CMakeLists.txt

index 8a50b8c62b3d3b5b7967611df24bab2c33dcd1ad..6f8c5cfaf779b68e522e27c7f2a57b2af84c6a76 100644 (file)
@@ -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 <https://apt.kitware.com/>.
+
 Install the following packages for the toolchain: 
 
 - cmake 
index f77525295d51c0030e9c6b2d6200193d576aadf8..4bab58c5244a9a22fb63d0927ad1360c09f3f690 100644 (file)
@@ -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
index 16d8aba456cba6a83bd5d840a644facb44913245..d6a74d03399a0eca0626b83307ee131ea5329dda 100644 (file)
@@ -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')) }}:
index 6b4104fd48c99c71cef845158080a031292a82cc..a4dcf764482772512fec958daee161ed82a4d3a2 100644 (file)
@@ -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)
 
index a55602917eeb38703eb9b7e3bf162e0e5d2b462b..0b453ced3e6f826016ea8861fd41300a5e505554 100644 (file)
@@ -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)