summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-01-20 16:53:54 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-01-20 16:54:13 (GMT)
commitb168d8e855a58a4b805202422f16e4c4bb5c7fb1 (patch)
treee54b9cb2e138070df14b41d91a8eb87fbe40d759 /Source
parent582cc710c2a4d245a2ec1cfef0b048482333e54a (diff)
parent086d9b2bab926b673bcb88a87a188586e76de3d6 (diff)
downloadCMake-b168d8e855a58a4b805202422f16e4c4bb5c7fb1.zip
CMake-b168d8e855a58a4b805202422f16e4c4bb5c7fb1.tar.gz
CMake-b168d8e855a58a4b805202422f16e4c4bb5c7fb1.tar.bz2
Merge topic 'autogen_rcc_skip_unity' into release-3.16
086d9b2bab Autogen: Enable SKIP_UNITY_BUILD_INCLUSION on AUTORCC generated files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !4237
Diffstat (limited to 'Source')
-rw-r--r--Source/cmQtAutoGenInitializer.cxx24
-rw-r--r--Source/cmQtAutoGenInitializer.h9
2 files changed, 19 insertions, 14 deletions
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx
index 6b0fc1e..5eb04f7 100644
--- a/Source/cmQtAutoGenInitializer.cxx
+++ b/Source/cmQtAutoGenInitializer.cxx
@@ -1166,7 +1166,10 @@ bool cmQtAutoGenInitializer::InitRccTargets()
// Register info file as generated by CMake
this->Makefile->AddCMakeOutputFile(qrc.InfoFile);
// Register file at target
- this->AddGeneratedSource(qrc.OutputFile, this->Rcc);
+ {
+ cmSourceFile* sf = this->AddGeneratedSource(qrc.OutputFile, this->Rcc);
+ sf->SetProperty("SKIP_UNITY_BUILD_INCLUSION", "On");
+ }
std::vector<std::string> ccOutput;
ccOutput.push_back(qrc.OutputFile);
@@ -1461,27 +1464,30 @@ bool cmQtAutoGenInitializer::SetupWriteRccInfo()
return true;
}
-void cmQtAutoGenInitializer::RegisterGeneratedSource(
+cmSourceFile* cmQtAutoGenInitializer::RegisterGeneratedSource(
std::string const& filename)
{
cmSourceFile* gFile = this->Makefile->GetOrCreateSource(filename, true);
gFile->SetProperty("GENERATED", "1");
gFile->SetProperty("SKIP_AUTOGEN", "1");
+ return gFile;
}
-bool cmQtAutoGenInitializer::AddGeneratedSource(std::string const& filename,
- GenVarsT const& genVars,
- bool prepend)
+cmSourceFile* cmQtAutoGenInitializer::AddGeneratedSource(
+ std::string const& filename, GenVarsT const& genVars, bool prepend)
{
// Register source at makefile
- this->RegisterGeneratedSource(filename);
+ cmSourceFile* gFile = this->RegisterGeneratedSource(filename);
// Add source file to target
this->GenTarget->AddSource(filename, prepend);
+
// Add source file to source group
- return this->AddToSourceGroup(filename, genVars.GenNameUpper);
+ this->AddToSourceGroup(filename, genVars.GenNameUpper);
+
+ return gFile;
}
-bool cmQtAutoGenInitializer::AddToSourceGroup(std::string const& fileName,
+void cmQtAutoGenInitializer::AddToSourceGroup(std::string const& fileName,
cm::string_view genNameUpper)
{
cmSourceGroup* sourceGroup = nullptr;
@@ -1512,14 +1518,12 @@ bool cmQtAutoGenInitializer::AddToSourceGroup(std::string const& fileName,
cmStrCat(genNameUpper, " error in ", property,
": Could not find or create the source group ",
cmQtAutoGen::Quoted(groupName)));
- return false;
}
}
}
if (sourceGroup != nullptr) {
sourceGroup->AddGroupFile(fileName);
}
- return true;
}
void cmQtAutoGenInitializer::AddCleanFile(std::string const& fileName)
diff --git a/Source/cmQtAutoGenInitializer.h b/Source/cmQtAutoGenInitializer.h
index 486dab7..d55259c 100644
--- a/Source/cmQtAutoGenInitializer.h
+++ b/Source/cmQtAutoGenInitializer.h
@@ -129,10 +129,11 @@ private:
bool SetupWriteAutogenInfo();
bool SetupWriteRccInfo();
- void RegisterGeneratedSource(std::string const& filename);
- bool AddGeneratedSource(std::string const& filename, GenVarsT const& genVars,
- bool prepend = false);
- bool AddToSourceGroup(std::string const& fileName,
+ cmSourceFile* RegisterGeneratedSource(std::string const& filename);
+ cmSourceFile* AddGeneratedSource(std::string const& filename,
+ GenVarsT const& genVars,
+ bool prepend = false);
+ void AddToSourceGroup(std::string const& fileName,
cm::string_view genNameUpper);
void AddCleanFile(std::string const& fileName);