3#include "pixelbullet/application/application.h"
4#include "pixelbullet/application/cli.h"
5#include "pixelbullet/application/log.h"
6#include "pixelbullet/application/specification.h"
12std::unique_ptr<Application> CreateApplication(
const ApplicationBootstrap& bootstrap);
15int main(
int argc,
char* argv[])
18 const char* binary_path = argv[0] ? argv[0] :
"";
19 auto bootstrap = pixelbullet::CLI::ParseBootstrap(command_line_args, binary_path);
20 pixelbullet::logging::Initialize(bootstrap);
21 auto app_logger = pixelbullet::logging::Get(pixelbullet::logging::names::core_app);
26 exit_code = pixelbullet::Application::Launch(bootstrap, &pixelbullet::CreateApplication);
28 catch (
const std::exception& exception)
30 app_logger->Critical(
"Unhandled exception: {}", exception.what());
35 app_logger->Critical(
"Unhandled unknown exception");
39 app_logger->Info(
"Process exiting with code {}", exit_code);
40 pixelbullet::logging::Shutdown();
Command-line arguments passed to the application.
Definition specification.h:16