Bug fixes + rework check dir
This commit is contained in:
@@ -35,6 +35,7 @@ class Application {
|
||||
|
||||
void deleteDir(const std::filesystem::path& path);
|
||||
void createDir(const std::filesystem::path& path);
|
||||
void checkDir(std::string path);
|
||||
void checkBuildDirs();
|
||||
|
||||
int runCmd(std::string cmd);
|
||||
|
||||
@@ -63,7 +63,7 @@ void Application::buildProject() {
|
||||
auto configureDirTask =
|
||||
m_Taskflow
|
||||
.emplace(
|
||||
[this]() { this->configureDir("build/debug", "debug"); })
|
||||
[this]() { this->configureDir("build/debug", "Debug"); })
|
||||
.name("configureDir(build/debug)");
|
||||
auto buildDirTask =
|
||||
m_Taskflow.emplace([this]() { this->buildDir("build/debug"); })
|
||||
@@ -122,7 +122,7 @@ void Application::configureProject() {
|
||||
auto configureDirDebugTask =
|
||||
m_Taskflow
|
||||
.emplace(
|
||||
[this]() { this->configureDir("build/debug", "debug"); })
|
||||
[this]() { this->configureDir("build/debug", "Debug"); })
|
||||
.name("configureDir(build/debug)");
|
||||
checkBuildDirsTask.precede(configureDirDebugTask);
|
||||
|
||||
@@ -154,7 +154,7 @@ void Application::configureProject() {
|
||||
auto configureDirDebugTask =
|
||||
m_Taskflow
|
||||
.emplace(
|
||||
[this]() { this->configureDir("build/debug", "debug"); })
|
||||
[this]() { this->configureDir("build/debug", "Debug"); })
|
||||
.name("configureDir(build/debug)");
|
||||
checkBuildDirsTask.precede(configureDirDebugTask);
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
|
||||
#include "app.h"
|
||||
@@ -40,128 +41,43 @@ void Application::createDir(const std::filesystem::path& path) {
|
||||
}
|
||||
}
|
||||
|
||||
void Application::checkBuildDirs() {
|
||||
spdlog::get("filesystem")->debug("Checking 'build' directory.");
|
||||
if (!std::filesystem::is_directory("build")) {
|
||||
void Application::checkDir(std::string path) {
|
||||
spdlog::get("filesystem")->debug("Checking '{}' directory.", path);
|
||||
|
||||
if (!std::filesystem::is_directory(path)) {
|
||||
if (!std::filesystem::exists(path)) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/debug' directory.");
|
||||
createDir(path);
|
||||
return;
|
||||
}
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build' is not a directory. Deleting.");
|
||||
deleteDir("build");
|
||||
}
|
||||
if (!std::filesystem::exists("build")) {
|
||||
spdlog::get("filesystem")->info("Creating 'build' directory");
|
||||
createDir("build");
|
||||
->warn("'build/debug' is not a directory. Deleting.");
|
||||
deleteDir("build/debug");
|
||||
}
|
||||
}
|
||||
|
||||
void Application::checkBuildDirs() {
|
||||
checkDir("build");
|
||||
|
||||
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");
|
||||
}
|
||||
if (!std::filesystem::exists("build/debug")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/debug' directory.");
|
||||
createDir("build/debug");
|
||||
}
|
||||
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/release' directory.");
|
||||
if (!std::filesystem::is_directory("build/release")) {
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build/release' is not a directory. Deleting.");
|
||||
deleteDir("build/release");
|
||||
}
|
||||
if (!std::filesystem::exists("build/release")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/release' directory.");
|
||||
createDir("build/release");
|
||||
}
|
||||
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/relwithdeb' directory.");
|
||||
if (!std::filesystem::is_directory("build/relwithdeb")) {
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build/relwithdeb' is not a directory. Deleting.");
|
||||
deleteDir("build/relwithdeb");
|
||||
}
|
||||
if (!std::filesystem::exists("build/relwithdeb")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/relwithdeb' directory.");
|
||||
createDir("build/relwithdeb");
|
||||
}
|
||||
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/minsizerel' directory.");
|
||||
if (!std::filesystem::is_directory("build/minsizerel")) {
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build/minsizerel' is not a directory. Deleting.");
|
||||
deleteDir("build/minsizerel");
|
||||
}
|
||||
if (!std::filesystem::exists("build/minsizerel")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/minsizerel' directory.");
|
||||
createDir("build/minsizerel");
|
||||
};
|
||||
|
||||
checkDir("build/debug");
|
||||
checkDir("build/release");
|
||||
checkDir("build/relwithdeb");
|
||||
checkDir("build/minsizerel");
|
||||
break;
|
||||
case debug:
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/debug' directory.");
|
||||
if (!std::filesystem::is_directory("build/debug")) {
|
||||
spdlog::get("filsystem")
|
||||
->warn("'build/debug' is not a directory. Deleting.");
|
||||
deleteDir("build/debug");
|
||||
}
|
||||
if (!std::filesystem::exists("build/debug")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/debug' directory.");
|
||||
createDir("build/debug");
|
||||
}
|
||||
checkDir("build/debug");
|
||||
break;
|
||||
case release:
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/release' directory.");
|
||||
if (!std::filesystem::is_directory("build/release")) {
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build/release' is not a directory. Deleting.");
|
||||
deleteDir("build/release");
|
||||
}
|
||||
if (!std::filesystem::exists("build/release")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/release' directory.");
|
||||
createDir("build/release");
|
||||
}
|
||||
checkDir("build/release");
|
||||
break;
|
||||
case relwithdeb:
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/relwithdeb' directory.");
|
||||
if (!std::filesystem::is_directory("build/relwithdeb")) {
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build/relwithdeb' is not a directory. Deleting.");
|
||||
deleteDir("build/relwithdeb");
|
||||
}
|
||||
if (!std::filesystem::exists("build/relwithdeb")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/relwithdeb' directory.");
|
||||
createDir("build/relwithdeb");
|
||||
};
|
||||
checkDir("build/relwithdeb");
|
||||
break;
|
||||
case minsizerel:
|
||||
spdlog::get("filesystem")
|
||||
->debug("Checking 'build/minsizerel' directory.");
|
||||
if (!std::filesystem::is_directory("build/minsizerel")) {
|
||||
spdlog::get("filesystem")
|
||||
->warn("'build/minsizerel' is not a directory. Deleting.");
|
||||
deleteDir("build/minsizerel");
|
||||
}
|
||||
if (!std::filesystem::exists("build/minsizerel")) {
|
||||
spdlog::get("filesystem")
|
||||
->info("Creating 'build/minsizerel' directory.");
|
||||
createDir("build/minsizerel");
|
||||
};
|
||||
checkDir("build/minsizerel");
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user