AutoMoc: Do not list moc macros multiple times
When working on a project with a nested dependency tree, a macro can be added multiple times. For example in a project I am working on, in the warning "includes the moc file [... ] but does not contain a [...] macro" the macro list contains 127 entries but only 25 unique ones.
This commit is contained in:
parent
6e2f4029c0
commit
8ff0c2b1dd
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "cmsys/SystemInformation.hxx"
|
#include "cmsys/SystemInformation.hxx"
|
||||||
|
|
||||||
|
#include "cmAlgorithms.h"
|
||||||
#include "cmCustomCommand.h"
|
#include "cmCustomCommand.h"
|
||||||
#include "cmCustomCommandLines.h"
|
#include "cmCustomCommandLines.h"
|
||||||
#include "cmGeneratedFileStream.h"
|
#include "cmGeneratedFileStream.h"
|
||||||
@ -522,6 +523,8 @@ bool cmQtAutoGenInitializer::InitCustomTargets()
|
|||||||
// Filters
|
// Filters
|
||||||
cmExpandList(this->GenTarget->GetSafeProperty("AUTOMOC_MACRO_NAMES"),
|
cmExpandList(this->GenTarget->GetSafeProperty("AUTOMOC_MACRO_NAMES"),
|
||||||
this->Moc.MacroNames);
|
this->Moc.MacroNames);
|
||||||
|
this->Moc.MacroNames.erase(cmRemoveDuplicates(this->Moc.MacroNames),
|
||||||
|
this->Moc.MacroNames.end());
|
||||||
{
|
{
|
||||||
auto filterList = cmExpandedList(
|
auto filterList = cmExpandedList(
|
||||||
this->GenTarget->GetSafeProperty("AUTOMOC_DEPEND_FILTERS"));
|
this->GenTarget->GetSafeProperty("AUTOMOC_DEPEND_FILTERS"));
|
||||||
|
Loading…
Reference in New Issue
Block a user