13 [[nodiscard]]
virtual std::string
NameShort()
const = 0;
15 [[nodiscard]]
virtual std::string
NameLong()
const = 0;
19 void SetGroup(
const std::string &group, CLI::App &app)
const
21 app.get_option(
NameLong())->group(group);
31 std::string project_root_;
36 [[nodiscard]] std::string
NameShort()
const override
41 [[nodiscard]] std::string
NameLong()
const override
43 return "--project-root";
51 "Set the project root directory. Porytiles will look for "
52 "porytiles management directory, include/fieldmap.h, tilesets, "
53 "and other project files relative to this path.")
54 ->check(CLI::ExistingDirectory)
55 ->capture_default_str();
60 return std::filesystem::path{project_root_};
std::string NameShort() const override
std::filesystem::path project_root() const
void RegisterOpt(CLI::App &app) override
std::string NameLong() const override
virtual std::string NameShort() const =0
virtual void RegisterOpt(CLI::App &app)=0
void SetGroup(const std::string &group, CLI::App &app) const
std::string NameCombined() const
virtual std::string NameLong() const =0