From ad386be2a5410b716c7db6b71ebc985d9146fdf1 Mon Sep 17 00:00:00 2001 From: Bryan Call Date: Thu, 18 May 2023 13:43:12 -0700 Subject: [PATCH 1/2] Add automatic detection of ccache for cmake --- CMakeLists.txt | 3 +++ cmake/find_ccache.cmake | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 cmake/find_ccache.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 0efbb62b038..896ebacf3ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,9 @@ find_package(PCRE) include(FindOpenSSL) find_package(OpenSSL) +# Find ccache +include(find_ccache) + # Check for IO faculties check_symbol_exists(epoll_create "sys/epoll.h" TS_USE_EPOLL) check_symbol_exists(kqueue "sys/event.h" TS_USE_KQUEUE) diff --git a/cmake/find_ccache.cmake b/cmake/find_ccache.cmake new file mode 100644 index 00000000000..b3e39145072 --- /dev/null +++ b/cmake/find_ccache.cmake @@ -0,0 +1,23 @@ +####################### +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor license +# agreements. See the NOTICE file distributed with this work for additional information regarding +# copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. See the License for the specific language governing permissions and limitations under +# the License. +# +####################### + +option(AUTO_CCACHE "Use ccache to speed up rebuilds" ON) +find_program(CCACHE_PROGRAM ccache) +if(CCACHE_PROGRAM AND ${AUTO_CCACHE}) + message(STATUS "Using ${CCACHE_PROGRAM} as compiler launcher") + set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") +endif() From 69f73008c7ddcc2f1b0a3e50719d812818b36bfc Mon Sep 17 00:00:00 2001 From: Bryan Call Date: Fri, 19 May 2023 16:07:09 -0700 Subject: [PATCH 2/2] Changed to ENABLE_CCACHE and added C support --- cmake/find_ccache.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/find_ccache.cmake b/cmake/find_ccache.cmake index b3e39145072..7748fe4ef48 100644 --- a/cmake/find_ccache.cmake +++ b/cmake/find_ccache.cmake @@ -15,9 +15,10 @@ # ####################### -option(AUTO_CCACHE "Use ccache to speed up rebuilds" ON) +option(ENABLE_CCACHE "Use ccache to speed up rebuilds" ON) find_program(CCACHE_PROGRAM ccache) -if(CCACHE_PROGRAM AND ${AUTO_CCACHE}) +if(CCACHE_PROGRAM AND ${ENABLE_CCACHE}) message(STATUS "Using ${CCACHE_PROGRAM} as compiler launcher") set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") endif()