Merge branch 'ninja-no-rsp-for-rc' into release

This commit is contained in:
Brad King 2016-06-27 14:38:19 -04:00
commit 76c66bf575
6 changed files with 28 additions and 2 deletions

View File

@ -316,7 +316,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang)
std::string rspcontent;
std::string responseFlag;
if (this->ForceResponseFile()) {
if (lang != "RC" && this->ForceResponseFile()) {
rspfile = "$RSP_FILE";
responseFlag = "@" + rspfile;
rspcontent = " $DEFINES $INCLUDES $FLAGS";
@ -593,7 +593,9 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
this->SetMsvcTargetPdbVariable(vars);
int const commandLineLengthLimit = this->ForceResponseFile() ? -1 : 0;
bool const isRC = (language == "RC");
int const commandLineLengthLimit =
((!isRC && this->ForceResponseFile())) ? -1 : 0;
std::string const rspfile = objectFileName + ".rsp";
this->GetGlobalGenerator()->WriteBuild(

View File

@ -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)

View File

@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 2.8.4)
project(VSResourceNinjaForceRSP)
set(CMAKE_NINJA_FORCE_RESPONSE_FILE TRUE)
add_library(ResourceLib lib.cpp test.rc)
add_executable(VSResourceNinjaForceRSP main.cpp test.rc)

View File

@ -0,0 +1,4 @@
int lib()
{
return 0;
}

View File

@ -0,0 +1,6 @@
int main(int argc, char** argv)
{
(void)argc;
(void)argv;
return 0;
}

View File

@ -0,0 +1,4 @@
STRINGTABLE
BEGIN
1234 "5"
END