diff --git a/CMakeLists.txt b/CMakeLists.txt index 0174295..8bcc252 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_library(WVCore STATIC - src/Test.cpp + src/temp.cpp ) target_include_directories(WVCore PUBLIC @@ -13,4 +13,15 @@ target_include_directories(WVCore PUBLIC $ ) -target_compile_features(WVCore PUBLIC cxx_std_20) \ No newline at end of file +target_compile_features(WVCore PUBLIC cxx_std_20) + +# Add platform-specific preprocessor definitions +if(WIN32) + target_compile_definitions(WVCore PUBLIC PLATFORM_WINDOWS) +elseif(APPLE) + target_compile_definitions(WVCore PUBLIC PLATFORM_MACOS) +elseif(UNIX) + target_compile_definitions(WVCore PUBLIC PLATFORM_LINUX) +else() + message(FATAL_ERROR "Unknown platform!") +endif() diff --git a/include/core/Logger.h b/include/core/Logger.h new file mode 100644 index 0000000..ebe84f7 --- /dev/null +++ b/include/core/Logger.h @@ -0,0 +1,35 @@ +#pragma once + +#include +#include + +#define LOG_COLOR_RESET "\x1b[0m" +#define LOG_COLOR_APP_WARN "\x1b[93m" +#define LOG_COLOR_APP_ERROR "\x1b[91m" +#define LOG_COLOR_ENGINE_LOG "\x1b[32m" +#define LOG_COLOR_ENGINE_WARN "\x1b[33m" +#define LOG_COLOR_ENGINE_ERROR "\x1b[41m" + +namespace WillowVox +{ + class Logger + { + public: + template + static void Log(const char* message, Args... args) + { + std::time_t t = std::time(nullptr); + std::tm now; + + #ifdef _WIN32 + localtime_s(&now, &t); + #else + localtime_r(&t, &now); + #endif + + printf(LOG_COLOR_RESET "[%02d:%02d:%02d] ", now.tm_hour, now.tm_min, now.tm_sec); + printf(message, args...); + printf(LOG_COLOR_RESET "\n"); + } + }; +} \ No newline at end of file diff --git a/include/core/Test.h b/include/core/Test.h deleted file mode 100644 index be72f5a..0000000 --- a/include/core/Test.h +++ /dev/null @@ -1,4 +0,0 @@ -namespace WillowVox::Core -{ - void Test(); -} \ No newline at end of file diff --git a/include/core/core.h b/include/core/core.h new file mode 100644 index 0000000..4c617a7 --- /dev/null +++ b/include/core/core.h @@ -0,0 +1,3 @@ +#pragma once + +#include \ No newline at end of file diff --git a/src/Test.cpp b/src/Test.cpp deleted file mode 100644 index 1cb379f..0000000 --- a/src/Test.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#include - -namespace WillowVox::Core -{ - void Test() - { - std::cout << "Running Core Update Test..." << std::endl; - } -} \ No newline at end of file diff --git a/src/temp.cpp b/src/temp.cpp new file mode 100644 index 0000000..e69de29