Setup project boilerplate

This commit is contained in:
Matt McWilliams 2026-05-09 21:10:26 -04:00
commit ec4b6ec102
5 changed files with 34 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
build/

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "include/args"]
path = include/args
url = https://github.com/Taywee/args

9
CMakeLists.txt Normal file
View File

@ -0,0 +1,9 @@
cmake_minimum_required(VERSION 3.9)
project(pprc VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(pprc src/main.cpp)
target_include_directories(pprc PRIVATE include)

1
include/args Submodule

@ -0,0 +1 @@
Subproject commit cc2368ca0d8a962862c96c00fe919e1480050f51

20
src/main.cpp Normal file
View File

@ -0,0 +1,20 @@
#include <iostream>
#include "args/args.hxx"
int main(int argc, char** argv)
{
args::ArgumentParser parser("pprc");
args::HelpFlag help(parser, "help", "Display this help menu", {'h', "help"});
try {
parser.ParseCLI(argc, argv);
} catch (const args::Help&) {
std::cout << parser;
return 0;
} catch (const args::ParseError& e) {
std::cerr << e.what() << "\n" << parser;
return 1;
}
return 0;
}