#pragma once


#ifdef HZ_PLATFORM_WINDOWS

#include <SDL3/SDL_main.h>

extern Hazel::Application* Hazel::CreateApplication(ApplicationCommandLineArgs args);


int main(int argc, char** argv) {
	Hazel::Log::init();

	HZ_PROFILE_BEGIN_SESSION("Start", "Start.json");
	const auto app = Hazel::CreateApplication({argc, argv});
	HZ_PROFILE_END_SESSION();

	HZ_PROFILE_BEGIN_SESSION("Update", "Update.json");
	app->Run();
	HZ_PROFILE_END_SESSION();


	HZ_PROFILE_BEGIN_SESSION("End", "End.json");
	delete app;
	HZ_PROFILE_END_SESSION();

	return 0;
}

#endif // HZ_PLATFORM_WINDOWS

