Added --query-driver option to enable automatic detection of system include paths from selected compiler (#109)

This commit is contained in:
Bartek Kryza
2023-05-06 15:58:45 +02:00
parent 023fac07f9
commit 9b2adc5d2f
12 changed files with 329 additions and 26 deletions

View File

@@ -88,6 +88,11 @@ cli_flow_t cli_handler::parse(int argc, const char **argv)
app.add_option("--remove-compile-flag", remove_compile_flag,
"Remove a compilation flag from each entry in the compilation "
"database");
#if !defined(_WIN32)
app.add_option("--query-driver", query_driver,
"Query the specific compiler driver to extract system paths and add to "
"compile commands (e.g. arm-none-eabi-g++)");
#endif
app.add_option(
"--add-class-diagram", add_class_diagram, "Add class diagram config");
app.add_option("--add-sequence-diagram", add_sequence_diagram,
@@ -289,6 +294,10 @@ cli_flow_t cli_handler::handle_post_config_options()
config.remove_compile_flags.has_value = true;
}
if (query_driver) {
config.query_driver.set(*query_driver);
}
return cli_flow_t::kContinue;
}

View File

@@ -123,6 +123,9 @@ public:
bool initialize{false};
std::optional<std::vector<std::string>> add_compile_flag;
std::optional<std::vector<std::string>> remove_compile_flag;
#if !defined(_WIN32)
std::optional<std::string> query_driver;
#endif
std::optional<std::string> add_class_diagram;
std::optional<std::string> add_sequence_diagram;
std::optional<std::string> add_package_diagram;