Added bakatools dep to bakara

main
anulax1225 ago%!(EXTRA string=11 months)
parent c7f7932d2f
commit d271f9422e
  1. 4
      package.json
  2. 10
      premake5.lua
  3. 32
      src/bakara/core/assert.h
  4. 15
      src/bakara/core/base.h
  5. 28
      src/bakara/core/log.cpp
  6. 47
      src/bakara/core/log.h
  7. 1
      src/bkpch.h
  8. 0
      src/plaforms/window/glfw/win_glfw.cpp
  9. 0
      src/plaforms/window/glfw/win_glfw.h

@ -15,8 +15,8 @@
"packages":
[
{
"author": "gabime",
"name": "spdlog"
"author": "anulax1225",
"name": "bakatools"
},
{
"author": "anulax1225",

@ -21,7 +21,8 @@ project "bakara"
{
"_CRT_SECURE_NO_WARNINGS",
"GLFW_INCLUDE_NONE",
"IMGUI_IMPL_OPENGL_LOADER_GLAD"
"IMGUI_IMPL_OPENGL_LOADER_GLAD",
"BKMOD_ALL"
}
includedirs
@ -31,15 +32,16 @@ project "bakara"
"%{IncludeDirs.spdlog}",
"%{IncludeDirs.glad}",
"%{IncludeDirs.glfw}",
"%{IncludeDirs.imgui}"
"%{IncludeDirs.imgui}",
"%{IncludeDirs.bakatools}"
}
links
{
"GLFW",
"GLAD",
"ImGui"
"ImGui",
"bakatools"
}
filter "configurations:Debug"

@ -1,32 +0,0 @@
#pragma once
/*! \file assert.h
This file contains the assert macros. CORE macros musn't be used by the application.
*/
#include "base.h"
#include <bakara/tools/string_fmt.h>
#ifdef BK_ENABLE_ASSERT
/*! \def BK_CORE_VAMSG_ASSERT(check, msg, ...)
Assertes a condition, and throw an error with the formatted message as description
@param check : Condionne to assert
@param msg : format string error message
@param ... : variable arguments to put in the string
*/
#define BK_CORE_VAMSG_ASSERT(check, msg, ...) if(!(check)) { BK_CORE_ERROR(Tools::format("Assertion [%s] failed at %s:%d\n\tError : %s", BK_STRINGIFY(check), __FILE__, __LINE__, msg), __VA_ARGS__); BK_DEBUGBREAK(); }
#define BK_CORE_MSG_ASSERT(check, msg) if(!(check)) { BK_CORE_ERROR("Assertion [{0}] failed at {1}:{2}\n\tError : {3}", BK_STRINGIFY(check), __FILE__, __LINE__, msg); BK_DEBUGBREAK(); }
#define BK_CORE_ASSERT(check) if(!(check)) { BK_CORE_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_DEBUGBREAK(); }
#define BK_VAMSG_ASSERT(check, msg, ...) if(!(check)) { BK_ERROR(Bk::Tools::format("Assertion [%s] failed at %s:%d\n\tError : %s", BK_STRINGIFY(check), __FILE__, __LINE__, msg), __VA_ARGS__); BK_DEBUGBREAK(); }
#define BK_MSG_ASSERT(check, msg) if(!(check)) { BK_ERROR("Assertion [{0}] failed at {1}:{2}\n\tError : {3}", BK_STRINGIFY(check), __FILE__, __LINE__, msg); BK_DEBUGBREAK(); }
#define BK_ASSERT(check) if(!(check)) { BK_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_DEBUGBREAK(); }
#else
#define BK_CORE_VAMSG_ASSERT(check, msg, ...)
#define BK_CORE_MSG_ASSERT(check, msg)
#define BK_CORE_ASSERT(check)
#define BK_VAMSG_ASSERT(check, msg, ...)
#define BK_MSG_ASSERT(check, msg)
#define BK_ASSERT(check)
#endif

@ -1,25 +1,10 @@
#pragma once
#include "log.h"
#define BK_STRINGIFY(x) #x
#define BIT_SHIFT(x) (1 << x)
#define BK_BIND_EVENT_FN(fn) [this](Event& e) { fn(e); }
#define BK_BIND_DISPACHER_FN(event, fn) [this](event& e) -> bool{ return fn(e); }
#ifdef BK_DEBUG
#if defined(BK_PLATFORM_WINDOWS)
#define BK_DEBUGBREAK() __debugbreak()
#elif defined(BK_PLATFORM_LINUX)
#include <signal.h>
#define BK_DEBUGBREAK() raise(SIGTRAP)
#else
#error "Plaform doesn't support debug yet"
#endif
#define BK_ENABLE_ASSERT
#else
#define BK_DEBUGBREAK()
#endif

@ -1,28 +0,0 @@
#include "log.h"
namespace Bk {
std::shared_ptr<spdlog::logger> Log::p_core_logger;
std::shared_ptr<spdlog::logger> Log::p_app_logger;
void Log::init()
{
std::vector<spdlog::sink_ptr> log_sinks;
log_sinks.emplace_back(std::make_shared<spdlog::sinks::stdout_color_sink_mt>());
log_sinks.emplace_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("bakara.log", true));
log_sinks[0]->set_pattern("%^[%T] %n: %v%$");
log_sinks[1]->set_pattern("[%T] [%l] %n: %v");
p_core_logger = std::make_shared<spdlog::logger>("BAKARA", begin(log_sinks), end(log_sinks));
spdlog::register_logger(p_core_logger);
p_core_logger->set_level(spdlog::level::trace);
p_core_logger->flush_on(spdlog::level::trace);
p_app_logger = std::make_shared<spdlog::logger>("APP", begin(log_sinks), end(log_sinks));
spdlog::register_logger(p_app_logger);
p_app_logger->set_level(spdlog::level::trace);
p_app_logger->flush_on(spdlog::level::trace);
}
}

@ -1,47 +0,0 @@
#pragma once
#include <bkpch.h>
#include <spdlog/spdlog.h>
#include <spdlog/fmt/ostr.h>
#include <spdlog/sinks/stdout_color_sinks.h>
#include <spdlog/sinks/basic_file_sink.h>
namespace Bk {
class Log
{
public:
static void init();
static std::shared_ptr<spdlog::logger>& get_core_logger() { return p_core_logger; }
static std::shared_ptr<spdlog::logger>& get_app_logger() { return p_app_logger; }
private:
static std::shared_ptr<spdlog::logger> p_core_logger;
static std::shared_ptr<spdlog::logger> p_app_logger;
};
#ifdef BK_DEBUG
#define BK_CORE_TRACE(...) ::Bk::Log::get_core_logger()->trace(__VA_ARGS__)
#define BK_CORE_INFO(...) ::Bk::Log::get_core_logger()->info(__VA_ARGS__)
#define BK_CORE_WARN(...) ::Bk::Log::get_core_logger()->warn(__VA_ARGS__)
#define BK_CORE_ERROR(...) ::Bk::Log::get_core_logger()->error(__VA_ARGS__)
#define BK_CORE_CRITICAL(...) ::Bk::Log::get_core_logger()->critical(__VA_ARGS__)
#define BK_TRACE(...) ::Bk::Log::get_app_logger()->trace(__VA_ARGS__)
#define BK_INFO(...) ::Bk::Log::get_app_logger()->info(__VA_ARGS__)
#define BK_WARN(...) ::Bk::Log::get_app_logger()->warn(__VA_ARGS__)
#define BK_ERROR(...) ::Bk::Log::get_app_logger()->error(__VA_ARGS__)
#define BK_CRITICAL(...) ::Bk::Log::get_app_logger()->critical(__VA_ARGS__)
#else
#define BK_CORE_TRACE(...)
#define BK_CORE_INFO(...)
#define BK_CORE_WARN(...)
#define BK_CORE_ERROR(...)
#define BK_CORE_CRITICAL(...)
#define BK_TRACE(...)
#define BK_INFO(...)
#define BK_WARN(...)
#define BK_ERROR(...)
#define BK_CRITICAL(...)
#endif
}

@ -15,6 +15,7 @@ Precompiled headers communly used in bakara.
#include <vector>
#include <deque>
#include <exception>
#include <bakatools>
#include <bakara/core/log.h>
#include <bakara/core/assert.h>

Loading…
Cancel
Save