Scott,
I have find_program implemented to find ccache, as shown below.
find_program(CCACHE ccache)
if(CCACHE)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
endif()
That’s not the issue. The issue is telling ccache where to place it’s cache
files. If I compiles for toolchain X, Y and X, I need to set CCACHE_DIR
accordingly. Otherwise the cache will be useless.
—Dave
> On Jan 19, 2017, at 12:57 PM, Craig Scott <[email protected]> wrote:
>
> Rather than relying on environment variables, you can use CMake's
> find_program() command to find ccache on your path and then tell CMake to use
> that as a launcher. You can find an article with a detailed explanation of
> how to set this up here:
>
> https://crascit.com/2016/04/09/using-ccache-with-cmake/
> <https://crascit.com/2016/04/09/using-ccache-with-cmake/>
>
> An advantage of this approach is that the build will work with or without
> ccache installed. We've been using this in production for some time now and
> it works very smoothly. The technique can probably also be extended to
> support Windows too with clcache <https://github.com/frerich/clcache>, but I
> haven't tried that yet.
>
>
> On Fri, Jan 20, 2017 at 5:00 AM, David Lind <[email protected]
> <mailto:[email protected]>> wrote:
> I am porting existing makefiles to cmake. One of the key features of these
> makefiles is setting the CCACHE_DIR environment variable based upon the tool
> chain selected.
>
> I have TC_<toolchain>.cmake files created. Ideally, I would add a line to
> these files to set the CCACHE_DIR. But, CMake doesn’t have the ability to set
> environment variables during the build step. So, I’m stuck.
>
> Has anyone encountered this kind of situation?
>
> —Dave
> --
>
> Powered by www.kitware.com <http://www.kitware.com/>
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ <http://www.cmake.org/Wiki/CMake_FAQ>
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> <http://cmake.org/cmake/help/support.html>
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> <http://cmake.org/cmake/help/consulting.html>
> CMake Training Courses: http://cmake.org/cmake/help/training.html
> <http://cmake.org/cmake/help/training.html>
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> <http://www.kitware.com/opensource/opensource.html>
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
> <http://public.kitware.com/mailman/listinfo/cmake>
>
>
> --
> Craig Scott
> Melbourne, Australia
> https://crascit.com <https://crascit.com/>
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake