stamenStatic Menu Generator | 
          
| git clone git://git.dimitrijedobrota.com/stamen.git | 
| Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING | 
| commit | 8202f553483bb8e73a63b7929f43673c7dcd5aff | 
| parent | 223faf962edad1fc475af8a65afc8319d683bc0e | 
| author | Dimitrije Dobrota < mail@dimitrijedobrota.com > | 
| date | Fri, 14 Jun 2024 18:12:49 +0200 | 
Start using poafloc
| M | CMakeLists.txt | | | ++ -- | 
| M | src/CMakeLists.txt | | | + - | 
| M | src/generate.cpp | | | +++++++++++++++ --------------- | 
| M | src/stamen.cpp | | | -- | 
4 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/ CMakeLists.txt b/ CMakeLists.txt
          @@ -2,7 +2,7 @@ 
          cmake_minimum_required(VERSION 3.25.2)
        
        
          set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
          project(
              Stamen
              stamen
              VERSION 1.0.1
              DESCRIPTION "Static menu generator"
              LANGUAGES C CXX
        
        
          @@ -44,7 +44,7 @@ 
          foreach(p LIB BIN INCLUDE CMAKE)
        
        
          	unset(_path)
          endforeach()
          find_package(args 1 CONFIG REQUIRED)
          find_package(poafloc 1 CONFIG REQUIRED)
          add_subdirectory(src)
          add_subdirectory(demo)
        
        diff --git a/ src/CMakeLists.txt b/ src/CMakeLists.txt
          @@ -13,7 +13,7 @@ 
          set_target_properties(stamen PROPERTIES
        
        
          )
          add_executable(stamen-generate generate.cpp)
          target_link_libraries(stamen-generate PRIVATE args stamen)
          target_link_libraries(stamen-generate PRIVATE poafloc stamen)
          target_include_directories(stamen-generate PRIVATE ../include)
          set_target_properties(stamen-generate PROPERTIES
        
        diff --git a/ src/generate.cpp b/ src/generate.cpp
@@ -1,4 +1,4 @@
#include <args/args.hpp>
          #include <poafloc/poafloc.hpp>
          #include "menu.hpp"
          #include "stamen.hpp"
        
        
          @@ -16,8 +16,7 @@ 
          struct arguments_t {
        
        
              bool user = false;
          } opt;
          void generateIncludeHeaders(std::ostream &os) {
          }
          void generateIncludeHeaders(std::ostream &os) {}
          void generateInclude(std::ostream &os) {
              os << "#ifndef STAMEN_MENU_H\n";
        
        
          @@ -63,7 +62,7 @@ 
          void generateSource(std::ostream &os) {
        
        
              }
          }
          int parse_opt(int key, const char *arg, args::Parser *parser) {
          int parse_opt(int key, const char *arg, poafloc::Parser *parser) {
              auto arguments = (arguments_t *)parser->input();
              switch (key) {
              case 'd': arguments->display = arg; break;
        
        
          @@ -71,17 +70,17 @@ 
          int parse_opt(int key, const char *arg, args::Parser *parser) {
        
        
              case 'u': arguments->user = true; break;
              case 666: arguments->cpp = false; break;
              case 777: arguments->cpp = true; break;
              case args::ARG:
              case poafloc::ARG:
                  if (!arguments->config.empty()) {
                      args::failure(parser, 0, 0, "Too many arguments");
                      args::help(parser, stderr, args::STD_USAGE);
                      poafloc::failure(parser, 0, 0, "Too many arguments");
                      poafloc::help(parser, stderr, poafloc::STD_USAGE);
                  }
                  arguments->config = arg;
                  break;
              case args::NO_ARGS:
                  args::failure(parser, 0, 0, "Missing an argument");
                  args::help(parser, stderr, args::STD_USAGE);
              case args::END:
              case poafloc::NO_ARGS:
                  poafloc::failure(parser, 0, 0, "Missing an argument");
                  poafloc::help(parser, stderr, poafloc::STD_USAGE);
              case poafloc::END:
                  if (arguments->display.empty()) {
                      if (arguments->cpp) arguments->display = "stamen::builtin_display";
                      else arguments->display = "stamen_builtin_display";
        
        
          @@ -91,19 +90,20 @@ 
          int parse_opt(int key, const char *arg, args::Parser *parser) {
        
        
              return 0;
          }
          static const args::option_t options[]{
          static const poafloc::option_t options[]{
              {0, 0, 0, 0, "Output mode", 1},
              {"c", 666, 0, 0, "Generate files for C"},
              {"cpp", 777, 0, 0, "Generate files for C++"},
              {0, 0, 0, 0, "Output settings", 2},
              {"display", 'd', "FUNC", 0, "Set display function to be called"},
              {"user", 'u', 0, 0, "Include user stamen headers"},
              {"header", 'h', "FUNC", 0, "Header with free functions, default: shared.h"},
              {"header", 'h', "FUNC", 0,
               "Header with free functions, default: shared.h"},
              {0, 0, 0, 0, "Informational Options", -1},
              {0},
          };
          static const args::argp_t argp{
          static const poafloc::arg_t arg{
              options,
              parse_opt,
              "config_file",
        
        
          @@ -111,7 +111,7 @@ 
          static const args::argp_t argp{
        
        
          };
          int main(int argc, char *argv[]) {
              if (args::parse(&argp, argc, argv, 0, &opt)) {
              if (poafloc::parse(&arg, argc, argv, 0, &opt)) {
                  std::cerr << "There was an error while parsing arguments";
                  return 0;
              }
        
        diff --git a/ src/stamen.cpp b/ src/stamen.cpp
@@ -4,8 +4,6 @@
#include <cmath>
          #include <format>
          #include <iostream>
          #include <ostream>
          #include <variant>
          namespace stamen {