CMakePM: Add project CMake settings support

This is useful if projects do not to have "Auto Run" CMake or want to
have Junctions enabled.

Change-Id: I4a636e7bf64fe2d29d15d39fe9aa46807684c716
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Cristian Adam
2024-05-22 09:48:53 +02:00
parent 97caf327ba
commit 1712402b35
17 changed files with 208 additions and 47 deletions

View File

@@ -103,7 +103,7 @@ void CMakeProcess::run(const BuildDirParameters &parameters, const QStringList &
}
// Copy the "package-manager" CMake code from the ${IDE:ResourcePath} to the build directory
if (settings().packageManagerAutoSetup()) {
if (settings(parameters.project).packageManagerAutoSetup()) {
const FilePath localPackageManagerDir = buildDirectory.pathAppended(Constants::PACKAGE_MANAGER_DIR);
const FilePath idePackageManagerDir = FilePath::fromString(
parameters.expander->expand(QStringLiteral("%{IDE:ResourcePath}/package-manager")));
@@ -149,10 +149,11 @@ void CMakeProcess::run(const BuildDirParameters &parameters, const QStringList &
});
CommandLine commandLine(cmakeExecutable);
commandLine.addArgs({"-S",
CMakeToolManager::mappedFilePath(sourceDirectory).path(),
"-B",
CMakeToolManager::mappedFilePath(buildDirectory).path()});
commandLine.addArgs(
{"-S",
CMakeToolManager::mappedFilePath(parameters.project, sourceDirectory).path(),
"-B",
CMakeToolManager::mappedFilePath(parameters.project, buildDirectory).path()});
commandLine.addArgs(arguments);
TaskHub::clearTasks(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM);