https://github.com/Kitware/CMake
Revision 15b3f6f0f187ab12c29e437f737356bed13d977b authored by Ben Boeckel on 27 June 2016, 15:44:10 UTC, committed by Brad King on 27 June 2016, 18:34:06 UTC
In commit v3.6.0-rc1~174^2 (Ninja: Honor CMAKE_NINJA_FORCE_RESPONSE_FILE
for compile rules, 2016-04-06), Ninja learned to look for
`CMAKE_NINJA_FORCE_RESPONSE_FILE` in the current scope or the
environment in order to force response file usage for all compilation
rules.

However, on Windows, the RC compiler goes through cmcldeps which does a
`replace(output, output + ".dep.obj")` on the command line. However,
with a response file (which we name `output + ".rsp"`), the response
file path is replaced instead causing the compiler to (correctly)
complain that the response file `output + ".dep.obj.rsp"` does not
exist.

What needs to happen is for cmcldeps to look through the response file,
replace *its* contents and place it in the `output + ".dep.obj.rsp"`
file.

Also add a test which actually compiles an RC file into a library and
executable for all generators on Windows and additionally test
`CMAKE_NINJA_FORCE_RESPONSE_FILE` for Ninja generators.

Fixes #16167.
1 parent d152ae1
History
Tip revision: 15b3f6f0f187ab12c29e437f737356bed13d977b authored by Ben Boeckel on 27 June 2016, 15:44:10 UTC
ninja, rc: ignore CMAKE_NINJA_FORCE_RESPONSE_FILE for RC files
Tip revision: 15b3f6f
File Mode Size
Auxiliary
Help
Licenses
Modules
Packaging
Source
Templates
Tests
Utilities
.clang-format -rw-r--r-- 217 bytes
.gitattributes -rw-r--r-- 658 bytes
.hooks-config.bash -rw-r--r-- 866 bytes
CMakeCPack.cmake -rw-r--r-- 8.8 KB
CMakeCPackOptions.cmake.in -rw-r--r-- 11.0 KB
CMakeGraphVizOptions.cmake -rw-r--r-- 153 bytes
CMakeLists.txt -rw-r--r-- 26.6 KB
CMakeLogo.gif -rw-r--r-- 4.4 KB
CONTRIBUTING.rst -rw-r--r-- 1.3 KB
CTestConfig.cmake -rw-r--r-- 870 bytes
CTestCustom.cmake.in -rw-r--r-- 5.3 KB
CompileFlags.cmake -rw-r--r-- 3.1 KB
Copyright.txt -rw-r--r-- 2.6 KB
DartConfig.cmake -rw-r--r-- 804 bytes
README.rst -rw-r--r-- 2.9 KB
bootstrap -rwxr-xr-x 45.5 KB
cmake_uninstall.cmake.in -rw-r--r-- 790 bytes
configure -rwxr-xr-x 99 bytes
doxygen.config -rw-r--r-- 27.4 KB

README.rst

back to top