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:
1 parent
0c45da5cc4
commit
649e7f76fe
17 files changed
+109
-53
No files matched your search
@@ -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
|
||||
@@ -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
|
||||
Reference in new issue
Block a user