azure: convert to use Ninja as build tool While we were still supporting Trusty, using Ninja as a build tool would have required us to first setup pip and then use it to install Ninja. As a result, the speedups from using Ninja were drowned out by the time required to install Ninja. But as we have deprecated Trusty now, both Xenial and Bionic have recent versions of Ninja in their repositories and thus we can now use Ninja.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 48f6734..5e28d2b 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -18,7 +18,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
- job: linux_amd64_xenial_gcc_mbedtls
@@ -33,7 +33,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
- job: linux_amd64_xenial_clang_openssl
@@ -48,7 +48,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=clang
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
- job: linux_amd64_xenial_clang_mbedtls
@@ -63,7 +63,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=clang
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
- job: macos
diff --git a/azure-pipelines/docker/bionic b/azure-pipelines/docker/bionic
index f1d50c9..f59cf34 100644
--- a/azure-pipelines/docker/bionic
+++ b/azure-pipelines/docker/bionic
@@ -12,7 +12,7 @@ RUN apt-get update && \
libssh2-1-dev \
libssl-dev \
libz-dev \
- make \
+ ninja-build \
openjdk-8-jre-headless \
openssh-server \
openssl \
@@ -29,8 +29,7 @@ RUN cd /tmp && \
rm -f mbedtls-2.16.2-apache.tgz && \
cd mbedtls-2.16.2 && \
scripts/config.pl set MBEDTLS_MD4_C 1 && \
- CFLAGS=-fPIC cmake -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON . && \
- cmake --build . && \
- make install && \
+ CFLAGS=-fPIC cmake -G Ninja -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON . && \
+ ninja install && \
cd .. && \
rm -rf mbedtls-2.16.2
diff --git a/azure-pipelines/docker/xenial b/azure-pipelines/docker/xenial
index 67a27e4..db52a75 100644
--- a/azure-pipelines/docker/xenial
+++ b/azure-pipelines/docker/xenial
@@ -14,7 +14,7 @@ RUN echo 'deb http://ppa.launchpad.net/hola-launchpad/valgrind/ubuntu xenial mai
libssh2-1-dev \
libssl-dev \
libz-dev \
- make \
+ ninja-build \
openjdk-8-jre-headless \
openssh-server \
openssl \
@@ -31,9 +31,8 @@ RUN cd /tmp && \
rm -f mbedtls-2.16.2-apache.tgz && \
cd mbedtls-2.16.2 && \
scripts/config.pl set MBEDTLS_MD4_C 1 && \
- CFLAGS=-fPIC cmake -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON . && \
- cmake --build . && \
- make install && \
+ CFLAGS=-fPIC cmake -G Ninja -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON . && \
+ ninja install && \
cd .. && \
rm -rf mbedtls-2.16.2
diff --git a/azure-pipelines/nightly.yml b/azure-pipelines/nightly.yml
index a221ede..b8d550f 100644
--- a/azure-pipelines/nightly.yml
+++ b/azure-pipelines/nightly.yml
@@ -14,7 +14,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
RUN_INVASIVE_TESTS=true
@@ -30,7 +30,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
RUN_INVASIVE_TESTS=true
@@ -46,7 +46,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=clang
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
RUN_INVASIVE_TESTS=true
@@ -62,7 +62,7 @@ jobs:
base: ubuntu:xenial
environmentVariables: |
CC=clang
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
RUN_INVASIVE_TESTS=true
@@ -157,7 +157,7 @@ jobs:
base: multiarch/ubuntu-core:x86-bionic
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
RUN_INVASIVE_TESTS=true
@@ -174,7 +174,7 @@ jobs:
base: multiarch/ubuntu-core:x86-bionic
environmentVariables: |
CC=clang
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind
RUN_INVASIVE_TESTS=true
@@ -191,7 +191,7 @@ jobs:
base: multiarch/ubuntu-core:armhf-bionic
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
RUN_INVASIVE_TESTS=true
SKIP_PROXY_TESTS=true
@@ -209,7 +209,7 @@ jobs:
base: multiarch/ubuntu-core:arm64-bionic
environmentVariables: |
CC=gcc
- CMAKE_GENERATOR=Unix Makefiles
+ CMAKE_GENERATOR=Ninja
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
RUN_INVASIVE_TESTS=true
SKIP_PROXY_TESTS=true