From eb21b8a81fd83e81ef86bfb89deff00cd466bc89 Mon Sep 17 00:00:00 2001 From: Redacted Date: Sun, 16 Jun 2024 11:07:24 -0700 Subject: [PATCH] Windows --- .gitignore | 2 ++ include/jlog/ansi_escape_codes.hpp | 12 ++++---- include/jlog/jlog.hpp | 47 ++++++++++++++++++------------ main.cpp | 11 ++++++- 4 files changed, 46 insertions(+), 26 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd7f90b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/cmake-build-debug +/.idea \ No newline at end of file diff --git a/include/jlog/ansi_escape_codes.hpp b/include/jlog/ansi_escape_codes.hpp index 25b785a..95d872e 100644 --- a/include/jlog/ansi_escape_codes.hpp +++ b/include/jlog/ansi_escape_codes.hpp @@ -79,31 +79,31 @@ namespace jlog::ansi_escape_codes std::string cursor_to(int line, int col) { - + return ""; } std::string cursor_up(int lines) { - + return ""; } std::string cursor_down(int lines) { - + return ""; } std::string cursor_left(int cols) { - + return ""; } std::string cursor_right(int cols) { - + return ""; } std::string cursor_to_col(int col) { - + return ""; } } diff --git a/include/jlog/jlog.hpp b/include/jlog/jlog.hpp index 66807fe..6d1169f 100644 --- a/include/jlog/jlog.hpp +++ b/include/jlog/jlog.hpp @@ -13,6 +13,15 @@ #include #include +#ifdef __linux__ + #define FUNCTION __PRETTY_FUNCTION__ +#endif + +#ifdef _WIN32 + #define FUNCTION __FUNCSIG__ +#endif + + namespace jlog { enum class severity @@ -36,7 +45,7 @@ namespace jlog static Event on_log = Event(); - std::vector log_history; + inline std::vector log_history; struct token { @@ -109,31 +118,31 @@ namespace jlog } -#define INFO(i) jlog::info_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define SINFO(i) jlog::sinfo_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define USINFO(i) jlog::usinfo_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); +#define INFO(i) jlog::info_spec(i, FUNCTION, __FILE__, __LINE__); +#define SINFO(i) jlog::sinfo_spec(i, FUNCTION, __FILE__, __LINE__); +#define USINFO(i) jlog::usinfo_spec(i, FUNCTION, __FILE__, __LINE__); -#define VERBOSE(i) jlog::verbose_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define SVERBOSE(i) jlog::sverbose_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define USVERBOSE(i) jlog::usverbose_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); +#define VERBOSE(i) jlog::verbose_spec(i, FUNCTION, __FILE__, __LINE__); +#define SVERBOSE(i) jlog::sverbose_spec(i, FUNCTION, __FILE__, __LINE__); +#define USVERBOSE(i) jlog::usverbose_spec(i, FUNCTION, __FILE__, __LINE__); -#define DEBUG(i) jlog::debug_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define SDEBUG(i) jlog::sdebug_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define USDEBUG(i) jlog::usdebug_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); +#define DEBUG(i) jlog::debug_spec(i, FUNCTION, __FILE__, __LINE__); +#define SDEBUG(i) jlog::sdebug_spec(i, FUNCTION, __FILE__, __LINE__); +#define USDEBUG(i) jlog::usdebug_spec(i, FUNCTION, __FILE__, __LINE__); -#define WARNING(i) jlog::warning_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define SWARNING(i) jlog::swarning_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define USWARNING(i) jlog::uswarning_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); +#define WARNING(i) jlog::warning_spec(i, FUNCTION, __FILE__, __LINE__); +#define SWARNING(i) jlog::swarning_spec(i, FUNCTION, __FILE__, __LINE__); +#define USWARNING(i) jlog::uswarning_spec(i, FUNCTION, __FILE__, __LINE__); -#define ERROR(i) jlog::error_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define SERROR(i) jlog::serror_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define USERROR(i) jlog::userror_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); +#define ERROR(i) jlog::error_spec(i, FUNCTION, __FILE__, __LINE__); +#define SERROR(i) jlog::serror_spec(i, FUNCTION, __FILE__, __LINE__); +#define USERROR(i) jlog::userror_spec(i, FUNCTION, __FILE__, __LINE__); -#define FATAL(i) jlog::fatal_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define SFATAL(i) jlog::sfatal_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); -#define USFATAL(i) jlog::usfatal_spec(i, __PRETTY_FUNCTION__, __FILE__, __LINE__); \ No newline at end of file +#define FATAL(i) jlog::fatal_spec(i, FUNCTION, __FILE__, __LINE__); +#define SFATAL(i) jlog::sfatal_spec(i, FUNCTION, __FILE__, __LINE__); +#define USFATAL(i) jlog::usfatal_spec(i, FUNCTION, __FILE__, __LINE__); \ No newline at end of file diff --git a/main.cpp b/main.cpp index e74e5eb..31358e5 100644 --- a/main.cpp +++ b/main.cpp @@ -25,4 +25,13 @@ int main() return 0; /// -} \ No newline at end of file +} + +//Windows :( +#ifdef _WIN32 +extern "C" { + int wmain(int argc, wchar_t* argv[]) { + return main(); + } +} +#endif \ No newline at end of file