Meson: Use setup functions for more plugin items

Change-Id: Ibbb2526d1db980389487e599ddf53e4785d97b5e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2024-01-29 16:23:03 +01:00
parent 9a44a543a5
commit 0ef72f3c6c
6 changed files with 58 additions and 36 deletions

View File

@@ -92,7 +92,7 @@ static FilePath machineFilesDir()
return Core::ICore::userResourcePath("Meson-machine-files");
}
FilePath MachineFileManager::machineFile(const Kit *kit)
static FilePath machineFile(const Kit *kit)
{
QTC_ASSERT(kit, return {});
auto baseName
@@ -101,6 +101,20 @@ FilePath MachineFileManager::machineFile(const Kit *kit)
return machineFilesDir().pathAppended(baseName);
}
// MachineFileManager
class MachineFileManager final : public QObject
{
public:
MachineFileManager();
private:
void addMachineFile(const Kit *kit);
void removeMachineFile(const Kit *kit);
void updateMachineFile(const Kit *kit);
void cleanupMachineFiles();
};
MachineFileManager::MachineFileManager()
{
connect(KitManager::instance(), &KitManager::kitAdded,
@@ -268,8 +282,7 @@ QStringList MesonBuildSystem::configArgs(bool isSetup)
if (!isSetup || params.contains("--cross-file") || params.contains("--native-file"))
return m_pendingConfigArgs + bc->mesonConfigArgs();
return QStringList{
QString("--native-file=%1").arg(MachineFileManager::machineFile(kit()).toString())}
return QStringList{QString("--native-file=%1").arg(machineFile(kit()).toString())}
+ m_pendingConfigArgs + bc->mesonConfigArgs();
}
@@ -332,4 +345,9 @@ void MesonBuildSystem::updateKit(ProjectExplorer::Kit *kit)
m_parser.setQtVersion(m_kitData.qtVersion);
}
void setupMesonBuildSystem()
{
static MachineFileManager theMachineFileManager;
}
} // MesonProjectManager::Internal