summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGen.h
diff options
context:
space:
mode:
authorSebastian Holtermann <sebholt@xwmw.org>2019-09-12 10:14:12 (GMT)
committerSebastian Holtermann <sebholt@xwmw.org>2019-09-16 16:18:48 (GMT)
commit1a3f185c1a1f5f67e6c7d8d821f17619208e6311 (patch)
tree513f47dbc41cf98a06a948bdfcb58982d9690994 /Source/cmQtAutoGen.h
parent726ea1d15134591c352468b64b3e92f04f2449bb (diff)
downloadCMake-1a3f185c1a1f5f67e6c7d8d821f17619208e6311.zip
CMake-1a3f185c1a1f5f67e6c7d8d821f17619208e6311.tar.gz
CMake-1a3f185c1a1f5f67e6c7d8d821f17619208e6311.tar.bz2
Autogen: Split JobProbeDepsT job into separate moc and uic jobs
By splitting `JobProbeDepsT` into two independent `JobProbeDepsMocT`, `JobProbeDepsUicT`, the moc and uic job generation will happen concurrently. This should improve the execution speed, when both AUTOMOC and AUTOUIC are enabled. Parent directory names for moc and uic output files are are collected in a `std::unordered_set<std::string>` and get created in a batch. Beforehand we tried to create the parent directory for each output file. This led to duplications of `MakeDirectory` calls when there were multiple output files in the same directory (which is the case usually).
Diffstat (limited to 'Source/cmQtAutoGen.h')
-rw-r--r--Source/cmQtAutoGen.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/cmQtAutoGen.h b/Source/cmQtAutoGen.h
index fb15586..71969ee 100644
--- a/Source/cmQtAutoGen.h
+++ b/Source/cmQtAutoGen.h
@@ -80,6 +80,9 @@ public:
static std::string QuotedCommand(std::vector<std::string> const& command);
+ /// @brief Returns the parent directory of the file (thread safe)
+ static std::string ParentDir(cm::string_view filename);
+
/// @brief Returns the parent directory of the file with a "/" suffix
static std::string SubDirPrefix(cm::string_view filename);