You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.9 KiB
C++
50 lines
1.9 KiB
C++
/*
|
|
* Copyright (c) Contributors to the Open 3D Engine Project.
|
|
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
#include <ScreenDefs.h>
|
|
#include <ProjectInfo.h>
|
|
#include <ProjectManagerDefs.h>
|
|
|
|
#include <QWidget>
|
|
#include <QProcessEnvironment>
|
|
|
|
#include <AzCore/Outcome/Outcome.h>
|
|
|
|
namespace O3DE::ProjectManager
|
|
{
|
|
namespace ProjectUtils
|
|
{
|
|
bool AddProjectDialog(QWidget* parent = nullptr);
|
|
bool RegisterProject(const QString& path);
|
|
bool UnregisterProject(const QString& path);
|
|
bool CopyProjectDialog(const QString& origPath, ProjectInfo& newProjectInfo, QWidget* parent = nullptr);
|
|
bool CopyProject(const QString& origPath, const QString& newPath, QWidget* parent, bool skipRegister = false);
|
|
bool DeleteProjectFiles(const QString& path, bool force = false);
|
|
bool MoveProject(QString origPath, QString newPath, QWidget* parent, bool skipRegister = false);
|
|
|
|
bool ReplaceProjectFile(const QString& origFile, const QString& newFile, QWidget* parent = nullptr, bool interactive = true);
|
|
|
|
bool FindSupportedCompiler(QWidget* parent = nullptr);
|
|
AZ::Outcome<QString, QString> FindSupportedCompilerForPlatform();
|
|
|
|
ProjectManagerScreen GetProjectManagerScreen(const QString& screen);
|
|
|
|
AZ::Outcome<QString, QString> ExecuteCommandResult(
|
|
const QString& cmd,
|
|
const QStringList& arguments,
|
|
const QProcessEnvironment& processEnv,
|
|
int commandTimeoutSeconds = ProjectCommandLineTimeoutSeconds);
|
|
|
|
AZ::Outcome<QProcessEnvironment, QString> GetCommandLineProcessEnvironment();
|
|
AZ::Outcome<QString, QString> GetProjectBuildPath(const QString& projectPath);
|
|
AZ::Outcome<void, QString> OpenCMakeGUI(const QString& projectPath);
|
|
|
|
} // namespace ProjectUtils
|
|
} // namespace O3DE::ProjectManager
|