diff options
author | Brad King <brad.king@kitware.com> | 2017-09-25 13:52:13 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-09-25 14:07:48 (GMT) |
commit | df965cb9638d589be55daa520c13df32e1afd91d (patch) | |
tree | 8e6a2747482fab8f7d0055dc11fcd2723108bd0c | |
parent | eae3765b67b653d3f00afa44a60719a387262af8 (diff) | |
download | CMake-df965cb9638d589be55daa520c13df32e1afd91d.zip CMake-df965cb9638d589be55daa520c13df32e1afd91d.tar.gz CMake-df965cb9638d589be55daa520c13df32e1afd91d.tar.bz2 |
Ninja: Fix quoting of RC language depfile in cmcldeps call
Since commit v3.0.0-rc1~448^2 (Ninja: use deps = gcc/msvc feature,
2013-10-18) the value of the `DEP_FILE` binding already includes the
needed quoting to refer to the file. However, that commit forgot to
update one of the `$DEP_FILE` references to not be quoted anymore.
The offending code path currently only affects cmcldeps for RC.
Remove the extra quoting now.
Fixes: #17298
-rw-r--r-- | Source/cmNinjaTargetGenerator.cxx | 2 | ||||
-rw-r--r-- | Tests/VSResource/CMakeLists.txt | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index a464d6e..5fb4097 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -438,7 +438,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang) : mf->GetSafeDefinition("CMAKE_CXX_COMPILER"); cldeps = "\""; cldeps += cmSystemTools::GetCMClDepsCommand(); - cldeps += "\" " + lang + " " + vars.Source + " \"$DEP_FILE\" $out \""; + cldeps += "\" " + lang + " " + vars.Source + " $DEP_FILE $out \""; cldeps += mf->GetSafeDefinition("CMAKE_CL_SHOWINCLUDES_PREFIX"); cldeps += "\" \"" + cl + "\" "; } diff --git a/Tests/VSResource/CMakeLists.txt b/Tests/VSResource/CMakeLists.txt index 718e624..fb47c7e 100644 --- a/Tests/VSResource/CMakeLists.txt +++ b/Tests/VSResource/CMakeLists.txt @@ -56,3 +56,10 @@ endif() set_property(TARGET VSResource PROPERTY VS_GLOBAL_CMakeTestVsGlobalVariable "test val") + +if(CMAKE_GENERATOR MATCHES "Ninja|Visual Studio") + cmake_policy(PUSH) + cmake_policy(SET CMP0037 OLD) + add_library("My ResourceLib" lib.cpp lib.rc) + cmake_policy(POP) +endif() |