diff --git a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp index a57e4fe8c2..38eef8d39e 100644 --- a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp @@ -35,7 +35,8 @@ #include "jucer_ProjectBuildInfo.h" #include "jucer_ClientServerMessages.h" #include "jucer_CompileEngineClient.h" -#include "../LiveBuildEngine/jucer_CompileEngineServer.h" +#include "jucer_CompileEngineServer.h" +#include "jucer_CompileEngineSettings.h" #ifndef RUN_CLANG_IN_CHILD_PROCESS #error diff --git a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h index f197d4ecbb..fbb252864c 100644 --- a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h @@ -106,4 +106,5 @@ private: } //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CompileEngineSettings) }; diff --git a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp index a9d36293e2..79f6cd5334 100644 --- a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp +++ b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp @@ -27,6 +27,7 @@ #include "../../Application/jucer_Headers.h" #include "jucer_ProjectContentComponent.h" #include "../../LiveBuildEngine/jucer_DownloadCompileEngineThread.h" +#include "../../LiveBuildEngine/jucer_CompileEngineSettings.h" #include "jucer_HeaderComponent.h" #include "Sidebar/jucer_TabComponents.h" diff --git a/extras/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp index fa3676a73c..e28243e85a 100644 --- a/extras/Projucer/Source/Project/jucer_Project.cpp +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -28,6 +28,7 @@ #include "jucer_Project.h" #include "../ProjectSaving/jucer_ProjectSaver.h" #include "../Application/jucer_Application.h" +#include "../LiveBuildEngine/jucer_CompileEngineSettings.h" namespace { @@ -67,6 +68,8 @@ Project::Project (const File& f) projectRoot.addListener (this); + compileEngineSettings.reset (new CompileEngineSettings (projectRoot)); + setChangedFlag (false); modificationTime = getFile().getLastModificationTime(); } @@ -579,6 +582,8 @@ Result Project::loadDocument (const File& file) if (! ProjucerApplication::getApp().isRunningCommandLine) warnAboutOldProjucerVersion(); + compileEngineSettings.reset (new CompileEngineSettings (projectRoot)); + return Result::ok(); } diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h index be5230462e..7e640a2a96 100644 --- a/extras/Projucer/Source/Project/jucer_Project.h +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -27,12 +27,12 @@ #pragma once #include "jucer_ProjectType.h" -#include "../LiveBuildEngine/jucer_CompileEngineSettings.h" class ProjectExporter; class LibraryModule; class EnabledModuleList; class ProjectContentComponent; +class CompileEngineSettings; //============================================================================== class Project : public FileBasedDocument, @@ -384,7 +384,7 @@ public: bool shouldSendGUIBuilderAnalyticsEvent() noexcept; //============================================================================== - CompileEngineSettings& getCompileEngineSettings() { return compileEngineSettings; } + CompileEngineSettings& getCompileEngineSettings() { return *compileEngineSettings; } private: ValueTree projectRoot { Ids::JUCERPROJECT }; @@ -398,7 +398,7 @@ private: pluginAUMainTypeValue, pluginRTASCategoryValue, pluginVSTCategoryValue, pluginVST3CategoryValue, pluginAAXCategoryValue; //============================================================================== - CompileEngineSettings compileEngineSettings { projectRoot }; + ScopedPointer compileEngineSettings; //============================================================================== bool shouldWriteLegacyPluginFormatSettings = false;