diff options
author | ClarkeCode <clarke.john.robert@gmail.com> | 2023-06-14 05:41:28 +0200 |
---|---|---|
committer | ClarkeCode <clarke.john.robert@gmail.com> | 2023-06-18 07:04:24 +0200 |
commit | 741cfe452156f7c6365d1a66b6228e15ef660bf6 (patch) | |
tree | 893e5b7b299eff272ec186bdaebc8d91e5ee0bd5 | |
parent | 5433008d163e7e85cd7ee668e769c649e318f491 (diff) |
Rough draft of compiling headless simulation
-rw-r--r-- | SConstruct | 45 | ||||
-rw-r--r-- | src/headless/main.cpp (renamed from headless_main.cpp) | 4 | ||||
-rw-r--r-- | src/openvic/dataloader/Dataloader.hpp | 4 |
3 files changed, 49 insertions, 4 deletions
diff --git a/SConstruct b/SConstruct new file mode 100644 index 0000000..50edb8f --- /dev/null +++ b/SConstruct @@ -0,0 +1,45 @@ +#!/usr/bin/env python +import os +import sys +from glob import glob +from pathlib import Path + +def GlobRecursive(pattern, nodes=['.']): + import SCons + results = [] + for node in nodes: + nnodes = [] + for f in Glob(str(node) + '/*', source=True): + if type(f) is SCons.Node.FS.Dir: + nnodes.append(f) + results += GlobRecursive(pattern, nnodes) + results += Glob(str(node) + '/' + pattern, source=True) + return results + +# For future reference: +# - CCFLAGS are compilation flags shared between C and C++ +# - CFLAGS are for C-specific compilation flags +# - CXXFLAGS are for C++-specific compilation flags +# - CPPFLAGS are for pre-processor flags +# - CPPDEFINES are for pre-processor defines +# - LINKFLAGS are for linking flags +env = Environment( + CPPDEFINES=["OPENVIC_HEADLESS_SIM"] +) + +# Require C++20 +if sys.platform == "win32" or sys.platform == "msys": + env.Append(CXXFLAGS=["/std:c++20", "/EHsc"]) +else: + env.Append(CXXFLAGS=["-std=c++20"]) + +# Tweak this if you want to use different folders, or more folders, to store your source code in. +paths = ["src"] +env.Append(CPPPATH=paths) +sources = GlobRecursive("*.cpp", paths) + +program = env.Program("headless-sim", sources) + + +Default(program) + diff --git a/headless_main.cpp b/src/headless/main.cpp index 20d89ee..70a57a9 100644 --- a/headless_main.cpp +++ b/src/headless/main.cpp @@ -1,8 +1,8 @@ #ifdef OPENVIC_HEADLESS_SIM #include <iostream> #include <string> -#include "src/openvic/Simulation.hpp" -#include "src/openvic/dataloader/Dataloader.hpp" +#include "openvic/Simulation.hpp" +#include "openvic/dataloader/Dataloader.hpp" int main() { diff --git a/src/openvic/dataloader/Dataloader.hpp b/src/openvic/dataloader/Dataloader.hpp index 250d100..062f3d5 100644 --- a/src/openvic/dataloader/Dataloader.hpp +++ b/src/openvic/dataloader/Dataloader.hpp @@ -6,10 +6,10 @@ namespace OpenVic { class Dataloader { public: enum class LoadingMode { - DL_COMPATABILITY + DL_COMPATIBILITY }; - static bool loadDir(std::filesystem::path p, Simulation& sim, LoadingMode loadMode = LoadingMode::DL_COMPATABILITY) { + static bool loadDir(std::filesystem::path p, Simulation& sim, LoadingMode loadMode = LoadingMode::DL_COMPATIBILITY) { return true; } }; |