CMakePM: Add configure environment widget

CMakePresets have the concept of modifying the configure process
environment variables.

Qt Creator had only one "build environment".

Change-Id: I131d54971b4bf7e5f87e680f817f93868d62ab29
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Cristian Adam
2022-08-10 19:12:40 +02:00
parent c9d45d1bc0
commit d86d278044
3 changed files with 130 additions and 2 deletions

View File

@@ -37,6 +37,7 @@ class CMakeProject;
namespace Internal {
class CMakeBuildSystem;
class CMakeBuildConfigurationPrivate;
class CMakeBuildSettingsWidget;
class CMakeProjectImporter;
@@ -65,8 +66,19 @@ public:
void addToEnvironment(Utils::Environment &env) const override;
Utils::Environment configureEnvironment() const;
void setUserConfigureEnvironmentChanges(const Utils::EnvironmentItems &diff);
Utils::EnvironmentItems userConfigureEnvironmentChanges() const;
bool useClearConfigureEnvironment() const;
void setUseClearConfigureEnvironment(bool b);
void updateAndEmitConfigureEnvironmentChanged();
Utils::Environment baseConfigureEnvironment() const;
QString baseConfigureEnvironmentText() const;
signals:
void signingFlagsChanged();
void configureEnvironmentChanged();
protected:
bool fromMap(const QVariantMap &map) override;
@@ -83,6 +95,8 @@ private:
friend class Internal::CMakeBuildSettingsWidget;
friend class Internal::CMakeBuildSystem;
Internal::CMakeBuildConfigurationPrivate *d = nullptr;
};
class CMAKE_EXPORT CMakeBuildConfigurationFactory