Refactor into a oop

This commit is contained in:
2026-06-28 08:18:15 -04:00
parent 1c7909b8f6
commit 1813b3f5cf
9 changed files with 184 additions and 173 deletions

View File

@@ -1,11 +1,10 @@
#include "filesystem.h"
#include <iostream>
#include "app.h"
#include "logging.h"
void deleteDir(const std::filesystem::path& path, bool dryrun) {
if (dryrun) {
void Application::deleteDir(const std::filesystem::path& path) {
if (m_DryRun) {
spdlog::get("filesystem")
->warn("[DRYRUN] Deleting '{}'", path.string());
return;
@@ -27,8 +26,8 @@ void deleteDir(const std::filesystem::path& path, bool dryrun) {
std::filesystem::remove_all(path);
}
void createDir(const std::filesystem::path& path, bool dryrun) {
if (dryrun) {
void Application::createDir(const std::filesystem::path& path) {
if (m_DryRun) {
spdlog::get("filesystem")
->warn("[DRYRUN] Creating '{}'", path.string());
return;
@@ -41,31 +40,31 @@ void createDir(const std::filesystem::path& path, bool dryrun) {
}
}
void checkBuildDirs(const BuildType buildType, bool dryrun) {
void Application::checkBuildDirs() {
spdlog::get("filesystem")->debug("Checking 'build' directory.");
if (!std::filesystem::is_directory("build")) {
spdlog::get("filesystem")
->warn("'build' is not a directory. Deleting.");
deleteDir("build", dryrun);
deleteDir("build");
}
if (!std::filesystem::exists("build")) {
spdlog::get("filesystem")->info("Creating 'build' directory");
createDir("build", dryrun);
createDir("build");
}
switch (buildType) {
switch (m_BuildType) {
case none:
spdlog::get("filesystem")
->debug("Checking 'build/debug' directory.");
if (!std::filesystem::is_directory("build/debug")) {
spdlog::get("filesystem")
->warn("'build/debug' is not a directory. Deleting.");
deleteDir("build/debug", dryrun);
deleteDir("build/debug");
}
if (!std::filesystem::exists("build/debug")) {
spdlog::get("filesystem")
->info("Creating 'build/debug' directory.");
createDir("build/debug", dryrun);
createDir("build/debug");
}
spdlog::get("filesystem")
@@ -73,12 +72,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/release")) {
spdlog::get("filesystem")
->warn("'build/release' is not a directory. Deleting.");
deleteDir("build/release", dryrun);
deleteDir("build/release");
}
if (!std::filesystem::exists("build/release")) {
spdlog::get("filesystem")
->info("Creating 'build/release' directory.");
createDir("build/release", dryrun);
createDir("build/release");
}
spdlog::get("filesystem")
@@ -86,12 +85,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/relwithdeb")) {
spdlog::get("filesystem")
->warn("'build/relwithdeb' is not a directory. Deleting.");
deleteDir("build/relwithdeb", dryrun);
deleteDir("build/relwithdeb");
}
if (!std::filesystem::exists("build/relwithdeb")) {
spdlog::get("filesystem")
->info("Creating 'build/relwithdeb' directory.");
createDir("build/relwithdeb", dryrun);
createDir("build/relwithdeb");
}
spdlog::get("filesystem")
@@ -99,12 +98,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/minsizerel")) {
spdlog::get("filesystem")
->warn("'build/minsizerel' is not a directory. Deleting.");
deleteDir("build/minsizerel", dryrun);
deleteDir("build/minsizerel");
}
if (!std::filesystem::exists("build/minsizerel")) {
spdlog::get("filesystem")
->info("Creating 'build/minsizerel' directory.");
createDir("build/minsizerel", dryrun);
createDir("build/minsizerel");
};
break;
@@ -114,12 +113,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/debug")) {
spdlog::get("filsystem")
->warn("'build/debug' is not a directory. Deleting.");
deleteDir("build/debug", dryrun);
deleteDir("build/debug");
}
if (!std::filesystem::exists("build/debug")) {
spdlog::get("filesystem")
->info("Creating 'build/debug' directory.");
createDir("build/debug", dryrun);
createDir("build/debug");
}
break;
case release:
@@ -128,12 +127,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/release")) {
spdlog::get("filesystem")
->warn("'build/release' is not a directory. Deleting.");
deleteDir("build/release", dryrun);
deleteDir("build/release");
}
if (!std::filesystem::exists("build/release")) {
spdlog::get("filesystem")
->info("Creating 'build/release' directory.");
createDir("build/release", dryrun);
createDir("build/release");
}
break;
case relwithdeb:
@@ -142,12 +141,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/relwithdeb")) {
spdlog::get("filesystem")
->warn("'build/relwithdeb' is not a directory. Deleting.");
deleteDir("build/relwithdeb", dryrun);
deleteDir("build/relwithdeb");
}
if (!std::filesystem::exists("build/relwithdeb")) {
spdlog::get("filesystem")
->info("Creating 'build/relwithdeb' directory.");
createDir("build/relwithdeb", dryrun);
createDir("build/relwithdeb");
};
break;
case minsizerel:
@@ -156,12 +155,12 @@ void checkBuildDirs(const BuildType buildType, bool dryrun) {
if (!std::filesystem::is_directory("build/minsizerel")) {
spdlog::get("filesystem")
->warn("'build/minsizerel' is not a directory. Deleting.");
deleteDir("build/minsizerel", dryrun);
deleteDir("build/minsizerel");
}
if (!std::filesystem::exists("build/minsizerel")) {
spdlog::get("filesystem")
->info("Creating 'build/minsizerel' directory.");
createDir("build/minsizerel", dryrun);
createDir("build/minsizerel");
};
break;
}