diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a9dab676b670c6deca2ef7a86b35063777e1dcf8..6e83c8b4cd4464043f7c31d3fc00abffb6223ec5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,8 +26,21 @@ native-build: extends: .general stage: build image: registry.orfeo-toolbox.org/gbonnefille/otb-build-env/otb-ubuntu-shark:18.04 + before_script: + # ccache configuration + - mkdir -p ccache + - export CCACHE_BASEDIR=${PWD} + - export CCACHE_DIR=${PWD}/ccache + - echo "max_size = 3G" > ccache/ccache.conf + - echo "run_second_cpp = true" >> ccache/ccache.conf + - echo "compiler_check = content" >> ccache/ccache.conf + - echo "sloppiness = time_macros" >> ccache/ccache.conf script: - ctest -VV -S CI/main_ci.cmake -DIMAGE_NAME:string=ubuntu-18.04-llvm-shark + cache: + key: "ubuntu-18.04-llvm-shark" + paths: + - ccache/ build-wip: extends: .build-common @@ -37,6 +50,8 @@ build-wip: - merge_requests - develop - /^release-[0-9]+\.[0-9]+$/ + cache: + policy: pull build-mr: extends: .build-common @@ -44,6 +59,8 @@ build-mr: OTB_CI_PROFILE: 'mr' only: - merge_requests + cache: + policy: pull build-develop: extends: .build-common @@ -51,6 +68,8 @@ build-develop: OTB_CI_PROFILE: 'develop' only: - develop + cache: + policy: pull-push build-release: extends: .build-common @@ -58,3 +77,5 @@ build-release: OTB_CI_PROFILE: 'release' only: - /^release-[0-9]+\.[0-9]+$/ + cache: + policy: pull diff --git a/CI/ubuntu-18.04-llvm-shark.cmake b/CI/ubuntu-18.04-llvm-shark.cmake index 610da34da206b53f5b35444ec1721f120e94deb3..af3b0283f2b122c7796d6eca61f4892fac11117f 100644 --- a/CI/ubuntu-18.04-llvm-shark.cmake +++ b/CI/ubuntu-18.04-llvm-shark.cmake @@ -26,4 +26,6 @@ CMAKE_C_COMPILER:STRING=clang CMAKE_CXX_COMPILER:STRING=clang++ CMAKE_EXE_LINKER_FLAGS:STRING=-fuse-ld=lld CMAKE_MODULE_LINKER_FLAGS:STRING=-fuse-ld=lld -CMAKE_SHARED_LINKER_FLAGS:STRING=-fuse-ld=lld") +CMAKE_SHARED_LINKER_FLAGS:STRING=-fuse-ld=lld +CMAKE_C_COMPILER_LAUNCHER:STRING=ccache +CMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache")