package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

33 lines
1.4 KiB

package("argh")
set_kind("library", {headeronly = true})
set_homepage("https://github.com/adishavit/argh")
set_description("Argh! A minimalist argument handler.")
set_license("BSD-3-Clause")
add_urls("https://github.com/adishavit/argh/archive/refs/tags/$(version).tar.gz",
"https://github.com/adishavit/argh.git")
add_versions("v1.3.2", "4b76d8c55e97cc0752feee4f00b99dc58464dd030dea9ba257c0a7d24a84f9dd")
on_install(function (package)
os.cp("argh.h", package:installdir("include"))
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
#include <iostream>
using namespace std;
int test(int argc, char* argv[]) {
argh::parser cmdl;
cmdl.parse(argc, argv, argh::parser::PREFER_PARAM_FOR_UNREG_OPTION);
if (cmdl["-v"]) cout << "Verbose, I am." << endl;
cout << "Positional args:\n";
for (auto& pos_arg : cmdl) cout << '\t' << pos_arg << endl;
cout << "\nFlags:\n";
for (auto& flag : cmdl.flags()) cout << '\t' << flag << endl;
cout << "\nParameters:\n";
for (auto& param : cmdl.params()) cout << '\t' << param.first << " : " << param.second << endl;
return EXIT_SUCCESS;
}
]]}, {configs = {languages = "cxx17"}, includes = "argh.h"}))
end)