mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-05-07 23:33:52 +00:00
Adding better error messages, Xcode folders
This commit is contained in:
parent
19f8da6101
commit
20f881f692
@ -50,16 +50,16 @@ macro(add_gtest TESTNAME)
|
||||
gtest_add_tests(TARGET ${TESTNAME}
|
||||
TEST_PREFIX "${TESTNAME}."
|
||||
TEST_LIST TmpTestList)
|
||||
set_tests_properties(${TmpTestList} PROPERTIES FOLDER "Tests")
|
||||
else()
|
||||
gtest_discover_tests(${TESTNAME}
|
||||
TEST_PREFIX "${TESTNAME}."
|
||||
PROPERTIES FOLDER "Tests")
|
||||
)
|
||||
|
||||
endif()
|
||||
else()
|
||||
add_test(${TESTNAME} ${TESTNAME})
|
||||
set_target_properties(${TESTNAME} PROPERTIES FOLDER "Tests")
|
||||
endif()
|
||||
set_target_properties(${TESTNAME} PROPERTIES FOLDER "Tests")
|
||||
|
||||
endmacro()
|
||||
|
||||
|
@ -1105,8 +1105,16 @@ class App {
|
||||
// Verify required options
|
||||
for(const Option_p &opt : options_) {
|
||||
// Required
|
||||
if(opt->get_required() && (static_cast<int>(opt->count()) < opt->get_expected() || opt->count() == 0))
|
||||
throw RequiredError(opt->get_name());
|
||||
if(opt->get_required()) {
|
||||
if(opt->count() == 0) {
|
||||
throw RequiredError(opt->get_name() + " is required");
|
||||
} else if (static_cast<int>(opt->count()) < opt->get_expected()) {
|
||||
if(opt->get_expected() == 1)
|
||||
throw RequiredError(opt->get_name() + " requires an argument");
|
||||
else
|
||||
throw RequiredError(opt->get_name() + " requires at least " + std::to_string(opt->get_expected()) + " arguments");
|
||||
}
|
||||
}
|
||||
// Requires
|
||||
for(const Option *opt_req : opt->requires_)
|
||||
if(opt->count() > 0 && opt_req->count() == 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user