// Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "cmakecommandbuilder.h" #include "incredibuildtr.h" #include #include #include #include // Compile-time only #include #include using namespace ProjectExplorer; using namespace Utils; namespace IncrediBuild::Internal { QList CMakeCommandBuilder::migratableSteps() const { return {CMakeProjectManager::Constants::CMAKE_BUILD_STEP_ID}; } QString CMakeCommandBuilder::displayName() const { return Tr::tr("CMake"); } FilePath CMakeCommandBuilder::defaultCommand() const { const QString defaultCMake = "cmake"; const QString cmake = QStandardPaths::findExecutable(defaultCMake); return FilePath::fromString(cmake.isEmpty() ? defaultCMake : cmake); } QString CMakeCommandBuilder::defaultArguments() const { // Build folder or "." QString buildDir; BuildConfiguration *buildConfig = buildStep()->buildConfiguration(); if (buildConfig) buildDir = buildConfig->buildDirectory().toUrlishString(); if (buildDir.isEmpty()) buildDir = "."; return ProcessArgs::joinArgs({"--build", buildDir, "--target", "all"}); } QString CMakeCommandBuilder::setMultiProcessArg(QString args) { static const QRegularExpression regExp("\\s*\\-j\\s+\\d+"); args.remove(regExp); args.append(" -- -j 200"); return args; } } // IncrediBuild::Internal