CMake: save a few cycles

Cheaper checks first.

Change-Id: I7487862abf409ef0a885d6ac9511066a6f814039
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
hjk
2023-10-17 17:00:22 +02:00
parent 755eefcbb2
commit 0e77cdcc2e

View File

@@ -358,13 +358,13 @@ static QStringList splitFragments(const QStringList &fragments)
static bool isPchFile(const FilePath &buildDirectory, const FilePath &path) static bool isPchFile(const FilePath &buildDirectory, const FilePath &path)
{ {
return path.isChildOf(buildDirectory) && path.fileName().startsWith("cmake_pch"); return path.fileName().startsWith("cmake_pch") && path.isChildOf(buildDirectory);
} }
static bool isUnityFile(const FilePath &buildDirectory, const FilePath &path) static bool isUnityFile(const FilePath &buildDirectory, const FilePath &path)
{ {
return path.isChildOf(buildDirectory) && path.parentDir().fileName() == "Unity" return path.fileName().startsWith("unity_") && path.isChildOf(buildDirectory)
&& path.fileName().startsWith("unity_"); && path.parentDir().fileName() == "Unity";
} }
static RawProjectParts generateRawProjectParts(const QFuture<void> &cancelFuture, static RawProjectParts generateRawProjectParts(const QFuture<void> &cancelFuture,
@@ -478,10 +478,9 @@ static RawProjectParts generateRawProjectParts(const QFuture<void> &cancelFuture
// Set project files except pch / unity files // Set project files except pch / unity files
rpp.setFiles(Utils::filtered(sources, rpp.setFiles(Utils::filtered(sources,
[buildDirectory](const QString &path) { [buildDirectory](const QString &path) {
return !isPchFile(buildDirectory, const FilePath filePath = FilePath::fromString(path);
FilePath::fromString(path)) return !isPchFile(buildDirectory, filePath)
&& !isUnityFile(buildDirectory, && !isUnityFile(buildDirectory, filePath);
FilePath::fromString(path));
}), }),
{}, {},
[headerMimeType](const QString &path) { [headerMimeType](const QString &path) {