This is an automated email from the ASF dual-hosted git repository.
bcall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new fba8223780 Add automatic detection of ccache for cmake (#9720)
fba8223780 is described below
commit fba8223780043fdc53dbbcd6c9e75c18ed82e0bd
Author: Bryan Call <[email protected]>
AuthorDate: Mon May 22 08:58:32 2023 -0700
Add automatic detection of ccache for cmake (#9720)
---
CMakeLists.txt | 3 +++
cmake/find_ccache.cmake | 24 ++++++++++++++++++++++++
2 files changed, 27 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0efbb62b03..896ebacf3e 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 0000000000..7748fe4ef4
--- /dev/null
+++ b/cmake/find_ccache.cmake
@@ -0,0 +1,24 @@
+#######################
+#
+# 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(ENABLE_CCACHE "Use ccache to speed up rebuilds" ON)
+find_program(CCACHE_PROGRAM 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()