diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-11-11 17:54:57 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2014-11-12 16:42:24 +0100 |
commit | 1d24d16379df6cd8a01434a13c3fe301d44eb0d2 (patch) | |
tree | 10d3aa04a5648f13b4a720976e2f03816228e710 /src/lib/corelib/language | |
parent | fe5ae537930d67171d71748aec1b00fb423a7962 (diff) |
Fix rule comparison.
We used to just compare the source code of the prepare script, but that
was too much of an optimization. Simply use the ScriptFunction's
operator== (which was also missing a member comparison), everything
else is a maintenance nightmare.
Change-Id: I625263e8dea42cbf42624c00434032d7b7146dc9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/lib/corelib/language')
-rw-r--r-- | src/lib/corelib/language/language.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp index 1b907975e..405c98ac2 100644 --- a/src/lib/corelib/language/language.cpp +++ b/src/lib/corelib/language/language.cpp @@ -301,6 +301,7 @@ bool operator==(const ScriptFunction &a, const ScriptFunction &b) { return a.sourceCode == b.sourceCode && a.location == b.location + && a.argumentNames == b.argumentNames && equals(a.fileContext.data(), b.fileContext.data()); } @@ -1179,8 +1180,8 @@ bool operator==(const Rule &r1, const Rule &r2) } return r1.module->name == r2.module->name - && r1.prepareScript->sourceCode == r2.prepareScript->sourceCode - && r1.outputArtifactsScript->sourceCode == r2.outputArtifactsScript->sourceCode + && equals(r1.prepareScript.data(), r2.prepareScript.data()) + && equals(r1.outputArtifactsScript.data(), r2.outputArtifactsScript.data()) && r1.inputs == r2.inputs && r1.outputFileTags == r2.outputFileTags && r1.auxiliaryInputs == r2.auxiliaryInputs |