diff --git a/Source/Editor/Cooker/GameCooker.cpp b/Source/Editor/Cooker/GameCooker.cpp index c204efac5..da2d74f87 100644 --- a/Source/Editor/Cooker/GameCooker.cpp +++ b/Source/Editor/Cooker/GameCooker.cpp @@ -683,8 +683,7 @@ bool GameCookerImpl::Build() MCore::Thread::Attach(); - // Build Started - if (!EnumHasAnyFlags(data.Options, BuildOptions::NoCook)) + // Build start { CallEvent(GameCooker::EventType::BuildStarted); data.Tools->OnBuildStarted(data); @@ -757,8 +756,8 @@ bool GameCookerImpl::Build() } IsRunning = false; CancelFlag = 0; - if (!EnumHasAnyFlags(data.Options, BuildOptions::NoCook)) { + // Build end for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++) Steps[stepIndex]->OnBuildEnded(data, failed); data.Tools->OnBuildEnded(data, failed); diff --git a/Source/Editor/Cooker/Platform/Mac/MacPlatformTools.cpp b/Source/Editor/Cooker/Platform/Mac/MacPlatformTools.cpp index 1d447027b..660121584 100644 --- a/Source/Editor/Cooker/Platform/Mac/MacPlatformTools.cpp +++ b/Source/Editor/Cooker/Platform/Mac/MacPlatformTools.cpp @@ -231,6 +231,8 @@ bool MacPlatformTools::OnPostProcess(CookingData& data) LOG(Info, "Building app package..."); { const String dmgPath = data.OriginalOutputPath / appName + TEXT(".dmg"); + if (FileSystem::FileExists(dmgPath)) + FileSystem::DeleteFile(dmgPath); CreateProcessSettings procSettings; procSettings.HiddenWindow = true; procSettings.WorkingDirectory = data.OriginalOutputPath; diff --git a/Source/Editor/Cooker/Platform/Windows/WindowsPlatformTools.cpp b/Source/Editor/Cooker/Platform/Windows/WindowsPlatformTools.cpp index 438c47388..0711e4866 100644 --- a/Source/Editor/Cooker/Platform/Windows/WindowsPlatformTools.cpp +++ b/Source/Editor/Cooker/Platform/Windows/WindowsPlatformTools.cpp @@ -528,6 +528,9 @@ bool WindowsPlatformTools::OnDeployBinaries(CookingData& data) void WindowsPlatformTools::OnBuildStarted(CookingData& data) { + if (EnumHasAllFlags(data.Options, BuildOptions::NoCook)) + return; + // Remove old executable Array files; FileSystem::DirectoryGetFiles(files, data.NativeCodeOutputPath, TEXT("*.exe"), DirectorySearchOption::TopDirectoryOnly); diff --git a/Source/Editor/Cooker/Steps/PrecompileAssembliesStep.cpp b/Source/Editor/Cooker/Steps/PrecompileAssembliesStep.cpp index 1a4f67c01..472a3cca6 100644 --- a/Source/Editor/Cooker/Steps/PrecompileAssembliesStep.cpp +++ b/Source/Editor/Cooker/Steps/PrecompileAssembliesStep.cpp @@ -12,7 +12,7 @@ void PrecompileAssembliesStep::OnBuildStarted(CookingData& data) { const DotNetAOTModes aotMode = data.Tools->UseAOT(); - if (aotMode == DotNetAOTModes::None) + if (aotMode == DotNetAOTModes::None || EnumHasAllFlags(data.Options, BuildOptions::NoCook)) return; const auto& buildSettings = *BuildSettings::Get();