CI: provide ninja at build time
This commit is contained in:
parent
d75b826476
commit
adcda947f1
@ -164,8 +164,9 @@ stages:
|
||||
interruptible: true
|
||||
before_script:
|
||||
- *install_cmake
|
||||
- .gitlab/ci/config/sccache.sh
|
||||
- "cmake -VV -P .gitlab/ci/config/ninja.cmake"
|
||||
- export PATH=$PWD/.gitlab:$PATH
|
||||
- .gitlab/ci/config/sccache.sh
|
||||
- SCCACHE_IDLE_TIMEOUT=0 sccache --start-server
|
||||
- sccache --show-stats
|
||||
- .gitlab/ci/config/google_benchmarks.sh
|
||||
@ -185,6 +186,8 @@ stages:
|
||||
interruptible: true
|
||||
before_script:
|
||||
- *install_cmake
|
||||
- "cmake -VV -P .gitlab/ci/config/ninja.cmake"
|
||||
- export PATH=$PWD/.gitlab:$PATH
|
||||
script:
|
||||
- "ctest $CTEST_TIMEOUT -VV -S .gitlab/ci/ctest_test.cmake"
|
||||
extends:
|
||||
|
44
.gitlab/ci/config/ninja.cmake
Normal file
44
.gitlab/ci/config/ninja.cmake
Normal file
@ -0,0 +1,44 @@
|
||||
##============================================================================
|
||||
## Copyright (c) Kitware, Inc.
|
||||
## All rights reserved.
|
||||
## See LICENSE.txt for details.
|
||||
##
|
||||
## This software is distributed WITHOUT ANY WARRANTY; without even
|
||||
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
## PURPOSE. See the above copyright notice for more information.
|
||||
##============================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
|
||||
|
||||
set(version 1.11.0)
|
||||
|
||||
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(sha256sum 9726e730d5b8599f82654dc80265e64a10a8a817552c34153361ed0c017f9f02)
|
||||
set(platform linux)
|
||||
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(sha256sum 21915277db59756bfc61f6f281c1f5e3897760b63776fd3d360f77dd7364137f)
|
||||
set(platform mac)
|
||||
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
|
||||
set(sha256sum d0ee3da143211aa447e750085876c9b9d7bcdd637ab5b2c5b41349c617f22f3b)
|
||||
set(platform win)
|
||||
else()
|
||||
message(FATAL_ERROR "Unrecognized platform ${CMAKE_HOST_SYSTEM_NAME}")
|
||||
endif()
|
||||
|
||||
set(tarball "ninja-${platform}.zip")
|
||||
|
||||
file(DOWNLOAD
|
||||
"https://github.com/ninja-build/ninja/releases/download/v${version}/${tarball}" .gitlab/${tarball}
|
||||
EXPECTED_HASH SHA256=${sha256sum}
|
||||
SHOW_PROGRESS
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xf ${tarball}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/.gitlab
|
||||
RESULT_VARIABLE extract_results
|
||||
)
|
||||
|
||||
if(extract_results)
|
||||
message(FATAL_ERROR "Extracting `${tarball}` failed: ${extract_results}.")
|
||||
endif()
|
@ -44,6 +44,8 @@ test:macos_xcode13:
|
||||
- export PATH=$PWD/.gitlab/cmake/bin:$PATH
|
||||
- "cmake -VV -P .gitlab/ci/config/ccache.cmake"
|
||||
- export PATH=$PWD/.gitlab/ccache:$PATH
|
||||
- "cmake -VV -P .gitlab/ci/config/ninja.cmake"
|
||||
- export PATH=$PWD/.gitlab:$PATH
|
||||
- "cmake --version"
|
||||
- "ccache --version"
|
||||
- "ninja --version"
|
||||
@ -63,8 +65,11 @@ test:macos_xcode13:
|
||||
interruptible: true
|
||||
before_script:
|
||||
- .gitlab/ci/config/cmake.sh
|
||||
- export PATH=$PWD/.gitlab/cmake/bin:$PATH
|
||||
- export PATH=.gitlab/cmake/bin:$PATH
|
||||
- "cmake -VV -P .gitlab/ci/config/ninja.cmake"
|
||||
- export PATH=$PWD/.gitlab:$PATH
|
||||
- cmake --version
|
||||
- ninja --version
|
||||
script:
|
||||
- "ctest $CTEST_TIMEOUT -VV -S .gitlab/ci/ctest_test.cmake"
|
||||
extends:
|
||||
|
Loading…
Reference in New Issue
Block a user