diff options
Diffstat (limited to 'toolsrc/src/vcpkg.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index e1a0a2a0b..95cd39778 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -333,6 +333,11 @@ int main(const int argc, const char* const* const argv) auto flags = Strings::split(*v, ','); if (std::find(flags.begin(), flags.end(), "binarycaching") != flags.end()) GlobalState::g_binary_caching = true; } + const auto vcpkg_disable_metrics_env = System::get_environment_variable("VCPKG_DISABLE_METRICS"); + if (vcpkg_disable_metrics_env.has_value()) + { + Metrics::g_metrics.lock()->set_disabled(true); + } const VcpkgCmdArguments args = VcpkgCmdArguments::create_from_command_line(argc, argv); @@ -340,8 +345,20 @@ int main(const int argc, const char* const* const argv) if (const auto p = args.printmetrics.get()) Metrics::g_metrics.lock()->set_print_metrics(*p); if (const auto p = args.sendmetrics.get()) Metrics::g_metrics.lock()->set_send_metrics(*p); + if (const auto p = args.disable_metrics.get()) Metrics::g_metrics.lock()->set_disabled(*p); if (const auto p = args.debug.get()) Debug::g_debugging = *p; + if (args.sendmetrics.has_value() && !Metrics::g_metrics.lock()->metrics_enabled()) + { + System::print2(System::Color::warning, + "Warning: passed either --sendmetrics or --no-sendmetrics, but metrics are disabled.\n"); + } + if (args.printmetrics.has_value() && !Metrics::g_metrics.lock()->metrics_enabled()) + { + System::print2(System::Color::warning, + "Warning: passed either --printmetrics or --no-printmetrics, but metrics are disabled.\n"); + } + if (Debug::g_debugging) { inner(args); |
