forked from qt-creator/qt-creator
CMake supports the use of custom startup programs that are provided in the IDE to simplify execution. If the build system provides launchers, these are provided as an additional selection field of the run configuration including an entry without launcher. As of cmake version 3.29, the start programs are extracted from the API of the cmake file. For older cmake versions, a launcher is initialized from the cmake variable CMAKE_CROSSCOMPILING_EMULATOR, if available. Fixes: QTCREATORBUG-29880 Change-Id: I4345b56c9ca5befb5876a361e7da4675590399ca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
60 lines
1.5 KiB
C++
60 lines
1.5 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
|
|
#pragma once
|
|
|
|
#include "cmake_global.h"
|
|
|
|
#include <projectexplorer/projectmacro.h>
|
|
#include <projectexplorer/projectnodes.h>
|
|
#include <projectexplorer/runconfigurationaspects.h>
|
|
|
|
#include <utils/fileutils.h>
|
|
|
|
#include <QStringList>
|
|
|
|
namespace CMakeProjectManager {
|
|
|
|
enum TargetType {
|
|
ExecutableType,
|
|
StaticLibraryType,
|
|
DynamicLibraryType,
|
|
ObjectLibraryType,
|
|
UtilityType
|
|
};
|
|
|
|
using Backtrace = QVector<ProjectExplorer::FolderNode::LocationInfo>;
|
|
using Backtraces = QVector<Backtrace>;
|
|
|
|
class CMAKE_EXPORT CMakeBuildTarget
|
|
{
|
|
public:
|
|
QString title;
|
|
Utils::FilePath executable; // TODO: rename to output?
|
|
QList<ProjectExplorer::Launcher> launchers;
|
|
TargetType targetType = UtilityType;
|
|
bool linksToQtGui = false;
|
|
bool qtcRunnable = true;
|
|
Utils::FilePath workingDirectory;
|
|
Utils::FilePath sourceDirectory;
|
|
Utils::FilePath makeCommand;
|
|
Utils::FilePaths libraryDirectories;
|
|
Utils::FilePaths sourceFiles;
|
|
|
|
Backtrace backtrace;
|
|
|
|
Backtraces dependencyDefinitions;
|
|
Backtraces sourceDefinitions;
|
|
Backtraces defineDefinitions;
|
|
Backtraces includeDefinitions;
|
|
Backtraces installDefinitions;
|
|
|
|
// code model
|
|
QList<Utils::FilePath> includeFiles;
|
|
QStringList compilerOptions;
|
|
ProjectExplorer::Macros macros;
|
|
QList<Utils::FilePath> files;
|
|
};
|
|
|
|
} // namespace CMakeProjectManager
|