diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-07-05 15:59:23 +0200 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-07-05 15:59:23 +0200 |
| commit | c0549d71b2109f10c1238db8b22362e7826ba61b (patch) | |
| tree | 16cd5264fcc3afe912e1b1b67738c8940d6d1177 /lib/core/c++/environment.hpp | |
| parent | 9a3147bc79caf3c0fb1a9cdee29d156b5ff092c7 (diff) | |
| download | libs-lbm-c0549d71b2109f10c1238db8b22362e7826ba61b.tar.gz | |
Just rename from lib to modules
Diffstat (limited to 'lib/core/c++/environment.hpp')
| -rw-r--r-- | lib/core/c++/environment.hpp | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/lib/core/c++/environment.hpp b/lib/core/c++/environment.hpp deleted file mode 100644 index d8aa9ae..0000000 --- a/lib/core/c++/environment.hpp +++ /dev/null @@ -1,80 +0,0 @@ -#pragma once - -#include <forstio/error.hpp> -#include <filesystem> -#include <cstdlib> - -namespace kel { -namespace lbm { - -struct environment { - std::string name; - - std::filesystem::path lbm_dir; - std::filesystem::path data_dir; -}; - -saw::error_or<environment> setup_lbm_env(const std::string_view name){ - namespace fs = std::filesystem; - - const char* home_dir = std::getenv("HOME"); - if(not home_dir){ - return saw::make_error<saw::err::not_found>("Couldn't find home dir"); - } - - environment env; - - env.lbm_dir = std::filesystem::path{home_dir} / ".lbm"; - - { - // Set default data location to "${lbm_dir}/data" - env.data_dir = env.lbm_dir / "data"; - // LBM Data Location - auto lbm_dir_config = env.lbm_dir / "data_dir_location.txt"; - if( fs::exists(lbm_dir_config) && fs::is_regular_file(lbm_dir_config) ){ - std::ifstream file{lbm_dir_config}; - - if(file.is_open()){ - std::stringstream buffer; - buffer <<file.rdbuf(); - env.data_dir = fs::path{buffer.str()}; - } - } - } - - return env; -} - -/** - * Returns the default output directory. - * Located outside the project dir because dispatching build jobs with output data in the git directory - * also copies simulated data which takes a long time. - */ -saw::error_or<std::filesystem::path> output_directory(){ - namespace fs = std::filesystem; - - const char* home_dir = std::getenv("HOME"); - if(not home_dir){ - return saw::make_error<saw::err::not_found>("Couldn't find home dir"); - } - - auto lbm_dir = std::filesystem::path{home_dir} / ".lbm"; - - { - auto lbm_dir_config = lbm_dir / "data_dir_location.txt"; - if( fs::exists(lbm_dir_config) && fs::is_regular_file(lbm_dir_config) ){ - std::ifstream file{lbm_dir_config}; - - if(file.is_open()){ - std::stringstream buffer; - buffer <<file.rdbuf(); - return fs::path{buffer.str()}; - } - } - } - - return lbm_dir / "data"; -} - -} -} |
