فهرست منبع

Refactor: Run CPU/OS/Memory tests once on first run

Alex Turbov 4 سال پیش
والد
کامیت
d6299d9941
1فایلهای تغییر یافته به همراه8 افزوده شده و 4 حذف شده
  1. 8 4
      Source/cmCMakeHostSystemInformationCommand.cxx

+ 8 - 4
Source/cmCMakeHostSystemInformationCommand.cxx

@@ -45,10 +45,14 @@ bool cmCMakeHostSystemInformationCommand(std::vector<std::string> const& args,
     return false;
   }
 
-  cmsys::SystemInformation info;
-  info.RunCPUCheck();
-  info.RunOSCheck();
-  info.RunMemoryCheck();
+  static cmsys::SystemInformation info;
+  static auto initialized = false;
+  if (!initialized) {
+    info.RunCPUCheck();
+    info.RunOSCheck();
+    info.RunMemoryCheck();
+    initialized = true;
+  }
 
   std::string result_list;
   for (size_t i = current_index + 1; i < args.size(); ++i) {