frerich / clcache

A compiler cache for MSVC, much like ccache for gcc
Other
325 stars 83 forks source link

Add support for command line specification of compiler executable, and support for clang-cl #346

Closed YngveNPettersen closed 5 years ago

YngveNPettersen commented 5 years ago

This PR adds support for specifying the path to the compiler on the command line, similar to what is supported by ccache. See https://github.com/frerich/clcache/issues/270

The presumed compiler path is checked to make sure it ends with ".exe", otherwise it is assumed to be a compiler argument, with the compiler path either being cl.exe found by searching the path, or from the environment variable.

Specifying the compiler path on the command line several two major benefits:

Additionally, this PR adds support for a couple of clang-cl command line options and optimizes the use of the list of options, and adds a couple of new gitignore entries

codecov-io commented 5 years ago

Codecov Report

Merging #346 into master will increase coverage by 0.59%. The diff coverage is 90%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #346      +/-   ##
==========================================
+ Coverage   88.33%   88.93%   +0.59%     
==========================================
  Files           4        4              
  Lines        1286     1301      +15     
  Branches      194      195       +1     
==========================================
+ Hits         1136     1157      +21     
+ Misses        111      106       -5     
+ Partials       39       38       -1
Flag Coverage Δ
#integrationtests_memcached 67.61% <82.5%> (+0.62%) :arrow_up:
#unittests 85.85% <90%> (+0.63%) :arrow_up:
Impacted Files Coverage Δ
clcache/__main__.py 90.87% <90%> (+0.66%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update dd7bf50...be8e1a1. Read the comment docs.

YngveNPettersen commented 5 years ago

I have locally done the suggested changes on our own production branch, but will need to pick them over to this branch and push them.

Regarding a Wiki page, that might be an idea. I don't see a good fit with the current pages, though, so maybe you should add a general page for running clcache using the current configuration, and then I can add text later, when this PR has been merged?

frerich commented 5 years ago

I also don't know a good place to add such a page, but I was occasionally thinking that -- given how many ways there are to install, integrate and run clcache -- some sort of 'How To' section would be good where people could be referred to for things like 'How to use clcache with different compiler executables' or so.

YngveNPettersen commented 5 years ago

That could be a way to do it.

BTW, I'll squash down the commits later before you merge

frerich commented 5 years ago

Merged, thanks a lot!

This resolves #343 .