From f69cd94c53481f3c8ec4cca671f826dc827f25f2 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 17 Apr 2025 13:19:35 +0200 Subject: [PATCH] Add toml++ and it's example program --- CMakeLists.txt | 2 ++ flake.nix | 1 + src/CMakeLists.txt | 1 + src/tomlParse.cpp | 19 +++++++++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 src/tomlParse.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ed743b..a51f30b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,4 +7,6 @@ project( set(CMAKE_EXPORT_COMPILE_COMMANDS true) set(CMAKE_CXX_STANDARD 23) +find_package(tomlplusplus REQUIRED) + add_subdirectory(src) diff --git a/flake.nix b/flake.nix index 6150827..353fcab 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,7 @@ clang-tools cmake cmake-language-server + tomlplusplus ]; }; }; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e92bddf..00e33a5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1 +1,2 @@ add_executable(Hello helloWorld.cpp) +add_executable(tomlParse tomlParse.cpp) diff --git a/src/tomlParse.cpp b/src/tomlParse.cpp new file mode 100644 index 0000000..a80c0f6 --- /dev/null +++ b/src/tomlParse.cpp @@ -0,0 +1,19 @@ +#include +#include + +int main(int argc, char** argv) +{ + toml::table tbl; + try + { + tbl = toml::parse_file(argv[1]); + std::cout << tbl << "\n"; + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}