Browse Source

ENH: add missing file

Bill Hoffman 18 years ago
parent
commit
66fff9d4b7
2 changed files with 54 additions and 1 deletions
  1. 3 1
      Source/kwsys/CMakeLists.txt
  2. 51 0
      Source/kwsys/testSystemInformation.cxx

+ 3 - 1
Source/kwsys/CMakeLists.txt

@@ -892,10 +892,12 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
       testRegistry
       testIOS
       testSystemTools
-      testSystemInformation
       testCommandLineArguments
       testCommandLineArguments1
       )
+    IF(KWSYS_USE_SystemInformation)
+      SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testSystemInformation)
+    ENDIF(KWSYS_USE_SystemInformation)
     IF(KWSYS_USE_DynamicLoader)
       SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testDynamicLoader)
       # If kwsys contains the DynamicLoader, need extra library

+ 51 - 0
Source/kwsys/testSystemInformation.cxx

@@ -0,0 +1,51 @@
+#include "kwsysPrivate.h"
+#include KWSYS_HEADER(SystemInformation.hxx)
+#include KWSYS_HEADER(ios/iostream)
+
+
+
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "SystemInformation.hxx.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
+#define printMethod(inof, m) kwsys_ios::cout << #m << ": " \
+<< info.m() << "\n"
+int testSystemInformation(int, char*[])
+{
+  kwsys::SystemInformation info;
+  printMethod(info, GetVendorString);
+  info.RunCPUCheck();
+  info.RunOSCheck();
+  info.RunMemoryCheck();
+  printMethod(info, GetVendorString);
+  printMethod(info, GetVendorID);
+  printMethod(info, GetTypeID);
+  printMethod(info, GetFamilyID);
+  printMethod(info, GetModelID);
+  printMethod(info, GetExtendedProcessorName);
+  printMethod(info, GetProcessorSerialNumber);
+  printMethod(info, GetProcessorCacheSize);
+  printMethod(info, GetLogicalProcessorsPerPhysical);
+  printMethod(info, GetProcessorClockFrequency);
+  printMethod(info, GetProcessorAPICID);
+  printMethod(info, GetOSName);
+  printMethod(info, GetHostname);
+  printMethod(info, GetOSRelease);
+  printMethod(info, GetOSVersion);
+  printMethod(info, GetOSPlatform);
+  printMethod(info, Is64Bits);
+  printMethod(info, GetNumberOfLogicalCPU);
+  printMethod(info, GetNumberOfPhysicalCPU);
+  printMethod(info, DoesCPUSupportCPUID);
+  printMethod(info, GetTotalVirtualMemory);
+  printMethod(info, GetAvailableVirtualMemory);
+  printMethod(info, GetTotalPhysicalMemory);
+  printMethod(info, GetAvailablePhysicalMemory);
+  
+  //int GetProcessorCacheXSize(long int);
+//  bool DoesCPUSupportFeature(long int);
+  return 0;
+}