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
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)
|
|
|