summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2016-06-27 15:44:10 (GMT)
committerBrad King <brad.king@kitware.com>2016-06-27 18:34:06 (GMT)
commit15b3f6f0f187ab12c29e437f737356bed13d977b (patch)
tree98c85a59100e4b1462a049623af3ed3ea0256cd8 /Tests/CMakeLists.txt
parentd152ae123d1a3df456fe24f2e1a06d97083ad2d2 (diff)
downloadCMake-15b3f6f0f187ab12c29e437f737356bed13d977b.zip
CMake-15b3f6f0f187ab12c29e437f737356bed13d977b.tar.gz
CMake-15b3f6f0f187ab12c29e437f737356bed13d977b.tar.bz2
ninja, rc: ignore CMAKE_NINJA_FORCE_RESPONSE_FILE for RC files
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.
Diffstat (limited to 'Tests/CMakeLists.txt')
-rw-r--r--Tests/CMakeLists.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 2db5ded..f21e430 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -274,6 +274,9 @@ if(BUILD_TESTING)
endif()
if(TEST_RESOURCES)
ADD_TEST_MACRO(VSResource VSResource)
+ if (CMAKE_GENERATOR MATCHES "Ninja")
+ add_test_macro(VSResourceNinjaForceRSP VSResourceNinjaForceRSP)
+ endif ()
endif()
ADD_TEST_MACRO(MSManifest MSManifest)
ADD_TEST_MACRO(Simple Simple)