config: create config if it doesn't already exist

This commit is contained in:
Hyper 2024-10-21 20:09:18 +01:00
parent dd59190347
commit 91b3a6c9c1
2 changed files with 6 additions and 16 deletions

View file

@ -12,22 +12,6 @@ add_compile_definitions(
_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR # Microsoft wtf?
_CRT_SECURE_NO_WARNINGS)
# Set config paths.
set(SWA_CONFIG_SOURCE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/config.toml")
set(SWA_CONFIG_TARGET_PATH "${CMAKE_BINARY_DIR}/${PROJECT_NAME}")
set(SWA_CONFIG_TARGET_NAME "${TARGET_NAME}.toml")
set(SWA_CONFIG_TARGET_FILE "${SWA_CONFIG_TARGET_PATH}/${SWA_CONFIG_TARGET_NAME}")
# Copy default config to build directory if newer.
if (${SWA_CONFIG_SOURCE_FILE} IS_NEWER_THAN ${SWA_CONFIG_TARGET_FILE})
file(INSTALL
DESTINATION ${SWA_CONFIG_TARGET_PATH}
TYPE FILE
FILES ${SWA_CONFIG_SOURCE_FILE}
RENAME ${SWA_CONFIG_TARGET_NAME}
)
endif()
# Generate icon bitmap header for SDL surface.
BIN2H(SOURCE_FILE "res/icon.bmp" HEADER_FILE "res/icon.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_icon")

View file

@ -1,5 +1,11 @@
void Config::Load()
{
if (!std::filesystem::exists(GetConfigPath()))
{
Config::Save();
return;
}
try
{
auto toml = toml::parse_file(GetConfigPath().string());