mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-05-02 05:33:53 +00:00
try clang 10 (#459)
* try clang 10 * use helics-builder clang 10 image * try new image * try again * try different flag addition * try adding cpp20 to visual studio check * try with the latest flag enabled for visual studio 2019 * try the correct c++ flag * remove use of std::result_of * format files
This commit is contained in:
parent
7e6ff84c69
commit
543e7f1577
@ -62,7 +62,8 @@ jobs:
|
|||||||
cli11.std: 11
|
cli11.std: 11
|
||||||
Windowslatest:
|
Windowslatest:
|
||||||
vmImage: 'windows-2019'
|
vmImage: 'windows-2019'
|
||||||
cli11.std: 17
|
cli11.std: 20
|
||||||
|
cli11.options: -DCMAKE_CXX_FLAG="/std:c++latest"
|
||||||
pool:
|
pool:
|
||||||
vmImage: $(vmImage)
|
vmImage: $(vmImage)
|
||||||
steps:
|
steps:
|
||||||
@ -113,6 +114,10 @@ jobs:
|
|||||||
containerImage: silkeh/clang:8
|
containerImage: silkeh/clang:8
|
||||||
cli11.std: 17
|
cli11.std: 17
|
||||||
cli11.options: -DCLI11_FORCE_LIBCXX=ON
|
cli11.options: -DCLI11_FORCE_LIBCXX=ON
|
||||||
|
clang10_20:
|
||||||
|
containerImage: helics/buildenv:clang10-builder
|
||||||
|
cli11.std: 20
|
||||||
|
cli11.options: -DCLI11_FORCE_LIBCXX=ON -DCMAKE_CXX_FLAGS=-std=c++20
|
||||||
container: $[ variables['containerImage'] ]
|
container: $[ variables['containerImage'] ]
|
||||||
steps:
|
steps:
|
||||||
- template: .ci/azure-cmake.yml
|
- template: .ci/azure-cmake.yml
|
||||||
|
@ -3055,7 +3055,18 @@ inline std::string help(const App *app, const Error &e) {
|
|||||||
namespace detail {
|
namespace detail {
|
||||||
/// This class is simply to allow tests access to App's protected functions
|
/// This class is simply to allow tests access to App's protected functions
|
||||||
struct AppFriend {
|
struct AppFriend {
|
||||||
|
#ifdef CLI11_CPP14
|
||||||
|
|
||||||
|
/// Wrap _parse_short, perfectly forward arguments and return
|
||||||
|
template <typename... Args> static decltype(auto) parse_arg(App *app, Args &&... args) {
|
||||||
|
return app->_parse_arg(std::forward<Args>(args)...);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Wrap _parse_subcommand, perfectly forward arguments and return
|
||||||
|
template <typename... Args> static decltype(auto) parse_subcommand(App *app, Args &&... args) {
|
||||||
|
return app->_parse_subcommand(std::forward<Args>(args)...);
|
||||||
|
}
|
||||||
|
#else
|
||||||
/// Wrap _parse_short, perfectly forward arguments and return
|
/// Wrap _parse_short, perfectly forward arguments and return
|
||||||
template <typename... Args>
|
template <typename... Args>
|
||||||
static auto parse_arg(App *app, Args &&... args) ->
|
static auto parse_arg(App *app, Args &&... args) ->
|
||||||
@ -3069,6 +3080,7 @@ struct AppFriend {
|
|||||||
typename std::result_of<decltype (&App::_parse_subcommand)(App, Args...)>::type {
|
typename std::result_of<decltype (&App::_parse_subcommand)(App, Args...)>::type {
|
||||||
return app->_parse_subcommand(std::forward<Args>(args)...);
|
return app->_parse_subcommand(std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
/// Wrap the fallthrough parent function to make sure that is working correctly
|
/// Wrap the fallthrough parent function to make sure that is working correctly
|
||||||
static App *get_fallthrough_parent(App *app) { return app->_get_fallthrough_parent(); }
|
static App *get_fallthrough_parent(App *app) { return app->_get_fallthrough_parent(); }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user