ccache no longer works for NCS in Windows with newer versions of ccache

There was no problem when the current version of ccache was 4.6.1. However, the current version of ccache, 4.10.2, behaves differently with the --specs option. It will do nothing at all with NCS. To correct this, I make this change

diff --git a/cmake/modules/ccache.cmake b/cmake/modules/ccache.cmake
index c1d41d6b9e4..14b9b683519 100644
--- a/cmake/modules/ccache.cmake
+++ b/cmake/modules/ccache.cmake
@@ -9,7 +9,7 @@ if(USE_CCACHE STREQUAL "0")
else()
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "ccache ignore_options=--specs=picolibc.specs")
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif()
endif()

Thank you for any possible correction. I guess in the Linux case you include ccache in the Zephyr toolchain and it is a version that works.

Burt Silverman

Related