Change build system to CMake

According to my own documentation, the project tree should look entirely
different. Also, it should use CMake instead of Make. This commit
introduces changes that will make my project tree to adhere to my
own documentation.
This commit is contained in:
Piotr Krygier committed 2023-03-16 12:04:35 +01:00
1 parent 0c45da5cc4
commit 649e7f76fe
17 files changed
+109 -53

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
/**
* @file localization.hpp
* @author Piotr Krygier (everyonencancode@gmail.com)
* @brief Simple localization header
* @version 0.1
* @date 2022-02-15
*
* @copyright Copyright (c) 2022
*
*/
#pragma once
#define SELECTED_LANGUAGE rse::locale::EN_US
namespace rse::locale
{
/**
* @brief Available languages
*
*/
enum Languages_t
{
EN_US = 0,
LAST_LANGUAGE
};
} // namespace rse::locale
+76
View File
@@ -0,0 +1,76 @@
/**
* @file log.hpp
* @author Piotr Krygier (everyonencancode@gmail.com)
* @brief Logging interfaces
* @version 0.1
* @date 2022-02-11
*
* @copyright Copyright (c) 2022
*
*/
#pragma once
#include <sstream>
#ifndef LOG_LEVEL
#define LOG_LEVEL LOGLEVEL_DEBUG
#endif
#define LOGT rse::log::Logger(rse::log::LOGLEVEL_TRACE)
#define LOGD rse::log::Logger(rse::log::LOGLEVEL_DEBUG)
#define LOGI rse::log::Logger(rse::log::LOGLEVEL_INFO)
#define LOGW rse::log::Logger(rse::log::LOGLEVEL_WARNING)
#define LOGE rse::log::Logger(rse::log::LOGLEVEL_ERROR)
#define LOGF rse::log::Logger(rse::log::LOGLEVEL_FATAL)
namespace rse::log
{
/**
* @brief Log level. Is not an enum class, because level is being compared to enable prints
*
*/
typedef enum
{
LOGLEVEL_TRACE = 1,
LOGLEVEL_DEBUG = 2,
LOGLEVEL_INFO = 3,
LOGLEVEL_WARNING = 4,
LOGLEVEL_ERROR = 5,
LOGLEVEL_FATAL = 6
} LogLevel;
/**
* @brief Class used indirectly as a logger.
*
*/
class Logger {
private:
bool printMessage;
std::stringstream mMessageBuffer;
public:
/**
* @brief Construct a new Logger object
*
*/
Logger(LogLevel);
~Logger();
/**
* @brief For log printing. I want it to work like log << "Message " << args;
*
*/
template <typename T>
Logger& operator<<(T&& message)
{
if (printMessage)
mMessageBuffer << message;
return *this;
}
};
} // namespace rse::log