aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'toolsrc/src/vcpkg.cpp')
-rw-r--r--toolsrc/src/vcpkg.cpp17
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);