2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2016 Openismus GmbH.
|
2022-12-21 10:12:09 +01:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
2011-11-29 14:19:28 +01:00
|
|
|
|
2016-02-03 17:21:12 +01:00
|
|
|
#pragma once
|
2011-11-29 14:19:28 +01:00
|
|
|
|
2017-02-07 15:00:38 +01:00
|
|
|
#include <projectexplorer/projectmacro.h>
|
|
|
|
|
|
2024-07-15 13:28:18 +02:00
|
|
|
#include <QFuture>
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QStringList>
|
2011-11-29 14:19:28 +01:00
|
|
|
|
2022-09-29 17:11:01 +02:00
|
|
|
namespace AutotoolsProjectManager::Internal {
|
2011-11-29 14:19:28 +01:00
|
|
|
|
2024-07-15 11:27:43 +02:00
|
|
|
class MakefileParserOutputData final
|
|
|
|
|
{
|
|
|
|
|
public:
|
2024-07-15 12:15:35 +02:00
|
|
|
// File name of the executable.
|
2024-07-15 11:27:43 +02:00
|
|
|
QString m_executable;
|
2024-07-15 12:15:35 +02:00
|
|
|
// List of sources that are set for the _SOURCES target.
|
|
|
|
|
// Sources in sub directorties contain the sub directory as prefix.
|
2024-07-15 11:27:43 +02:00
|
|
|
QStringList m_sources;
|
2024-07-15 12:15:35 +02:00
|
|
|
// List of Makefile.am files from the current directory and all sub directories.
|
|
|
|
|
// The values for sub directories contain the sub directory as prefix.
|
2024-07-15 11:27:43 +02:00
|
|
|
QStringList m_makefiles;
|
2024-07-15 12:15:35 +02:00
|
|
|
// List of include paths. Should be invoked, after the signal finished() has been emitted.
|
2024-07-15 11:27:43 +02:00
|
|
|
QStringList m_includePaths;
|
2024-07-15 12:15:35 +02:00
|
|
|
// Concatenated normalized defines, just like in code:
|
|
|
|
|
// #define X12_DEPRECATED __attribute__((deprecated))
|
|
|
|
|
// #define X12_HAS_DEPRECATED
|
2024-07-15 11:27:43 +02:00
|
|
|
ProjectExplorer::Macros m_macros;
|
2024-07-15 12:15:35 +02:00
|
|
|
// List of compiler flags for C.
|
2024-07-15 11:27:43 +02:00
|
|
|
QStringList m_cflags;
|
2024-07-15 12:15:35 +02:00
|
|
|
// List of compiler flags for C++.
|
2024-07-15 11:27:43 +02:00
|
|
|
QStringList m_cxxflags;
|
|
|
|
|
};
|
|
|
|
|
|
2024-07-15 15:40:55 +02:00
|
|
|
std::optional<MakefileParserOutputData> parseMakefile(const QString &makefile,
|
|
|
|
|
const QFuture<void> &future);
|
2011-11-29 14:19:28 +01:00
|
|
|
|
2022-09-29 17:11:01 +02:00
|
|
|
} // AutotoolsProjectManager::Internal
|