Merge topic 'import-KWSys-subtree'
68579cd
Merge branch 'upstream-kwsys' into import-KWSys-subtreecd83da9
KWSys 2012-11-05 (df32fa6f)3517106
CTestCustom: Suppress LNK4089 warning about PSAPI5c63fa3
Merge branch 'ctest-SUBMIT_INDEX-cdash' into import-KWSys-subtree17fb60b
Merge branch 'upstream-kwsys' into import-KWSys-subtree7ae44db
KWSys 2012-10-16 (b7a97ac3)97c9887
pre-commit: Update KWSys rejection message for new workflow3db0b51
KWSys: Submit dashboard builds to PublicDashboard4b8d363
Merge branch 'upstream-kwsys' into import-KWSys-subtreea61f633
Merge branch 'master' into import-KWSys-subtree8c55ea0
Merge branch 'upstream-kwsys' into import-KWSys-subtree5d0de36
KWSys 2012-10-01 (bab53989)7d3c295
KWSys 2012-05-02 (719638e2)
This commit is contained in:
commit
56a687d173
|
@ -31,6 +31,7 @@ set(CTEST_CUSTOM_WARNING_EXCEPTION
|
||||||
"remark: .*LOOP WAS VECTORIZED"
|
"remark: .*LOOP WAS VECTORIZED"
|
||||||
"warning .980: wrong number of actual arguments to intrinsic function .std::basic_"
|
"warning .980: wrong number of actual arguments to intrinsic function .std::basic_"
|
||||||
"LINK : warning LNK4089: all references to.*ADVAPI32.dll.*discarded by /OPT:REF"
|
"LINK : warning LNK4089: all references to.*ADVAPI32.dll.*discarded by /OPT:REF"
|
||||||
|
"LINK : warning LNK4089: all references to.*PSAPI.DLL.*discarded by /OPT:REF"
|
||||||
"LINK : warning LNK4089: all references to.*USER32.dll.*discarded by /OPT:REF"
|
"LINK : warning LNK4089: all references to.*USER32.dll.*discarded by /OPT:REF"
|
||||||
"Warning: library was too large for page size.*"
|
"Warning: library was too large for page size.*"
|
||||||
"Warning: public.*_archive_.*in module.*archive_*clashes with prior module.*archive_.*"
|
"Warning: public.*_archive_.*in module.*archive_*clashes with prior module.*archive_.*"
|
||||||
|
|
|
@ -509,19 +509,28 @@ ENDIF(KWSYS_USE_FundamentalType)
|
||||||
|
|
||||||
IF(KWSYS_USE_IOStream)
|
IF(KWSYS_USE_IOStream)
|
||||||
# Determine whether iostreams support long long.
|
# Determine whether iostreams support long long.
|
||||||
|
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES
|
||||||
|
-DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI}
|
||||||
|
-DKWSYS_IOS_HAVE_STD=${KWSYS_IOS_HAVE_STD})
|
||||||
IF(KWSYS_CXX_HAS_LONG_LONG)
|
IF(KWSYS_CXX_HAS_LONG_LONG)
|
||||||
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES
|
|
||||||
-DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI}
|
|
||||||
-DKWSYS_IOS_HAVE_STD=${KWSYS_IOS_HAVE_STD})
|
|
||||||
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_ISTREAM_LONG_LONG
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_ISTREAM_LONG_LONG
|
||||||
"Checking if istream supports long long" DIRECT)
|
"Checking if istream supports long long" DIRECT)
|
||||||
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_OSTREAM_LONG_LONG
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_OSTREAM_LONG_LONG
|
||||||
"Checking if ostream supports long long" DIRECT)
|
"Checking if ostream supports long long" DIRECT)
|
||||||
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES)
|
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(KWSYS_IOS_HAS_ISTREAM_LONG_LONG 0)
|
SET(KWSYS_IOS_HAS_ISTREAM_LONG_LONG 0)
|
||||||
SET(KWSYS_IOS_HAS_OSTREAM_LONG_LONG 0)
|
SET(KWSYS_IOS_HAS_OSTREAM_LONG_LONG 0)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
IF(KWSYS_CXX_HAS___INT64)
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_ISTREAM___INT64
|
||||||
|
"Checking if istream supports __int64" DIRECT)
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_OSTREAM___INT64
|
||||||
|
"Checking if ostream supports __int64" DIRECT)
|
||||||
|
ELSE()
|
||||||
|
SET(KWSYS_IOS_HAS_ISTREAM___INT64 0)
|
||||||
|
SET(KWSYS_IOS_HAS_OSTREAM___INT64 0)
|
||||||
|
ENDIF()
|
||||||
|
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES)
|
||||||
ENDIF(KWSYS_USE_IOStream)
|
ENDIF(KWSYS_USE_IOStream)
|
||||||
|
|
||||||
IF(KWSYS_NAMESPACE MATCHES "^kwsys$")
|
IF(KWSYS_NAMESPACE MATCHES "^kwsys$")
|
||||||
|
@ -566,9 +575,76 @@ IF(KWSYS_USE_SystemTools)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(KWSYS_USE_SystemInformation)
|
IF(KWSYS_USE_SystemInformation)
|
||||||
SET_PROPERTY(SOURCE SystemInformation.cxx PROPERTY
|
IF(NOT CYGWIN)
|
||||||
COMPILE_DEFINITIONS KWSYS_USE_LONG_LONG=${KWSYS_USE_LONG_LONG}
|
INCLUDE(CheckIncludeFiles)
|
||||||
KWSYS_USE___INT64=${KWSYS_USE___INT64})
|
CHECK_INCLUDE_FILES("sys/types.h;ifaddrs.h" KWSYS_SYS_HAS_IFADDRS_H)
|
||||||
|
IF(KWSYS_SYS_HAS_IFADDRS_H)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_SYS_HAS_IFADDRS_H=1)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
IF(WIN32)
|
||||||
|
INCLUDE(CheckSymbolExists)
|
||||||
|
SET(CMAKE_REQUIRED_LIBRARIES Psapi)
|
||||||
|
CHECK_SYMBOL_EXISTS(GetProcessMemoryInfo "windows.h;psapi.h" KWSYS_SYS_HAS_PSAPI)
|
||||||
|
UNSET(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
IF(KWSYS_SYS_HAS_PSAPI)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_SYS_HAS_PSAPI=1)
|
||||||
|
IF(MSVC70 OR MSVC71)
|
||||||
|
# Suppress LNK4089: all references to 'PSAPI.DLL' discarded by /OPT:REF
|
||||||
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /IGNORE:4089")
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
IF(KWSYS_LFS_AVAILABLE AND NOT KWSYS_LFS_DISABLE)
|
||||||
|
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES -DKWSYS_HAS_LFS=1)
|
||||||
|
ENDIF()
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_RLIMIT64
|
||||||
|
"Checking whether CXX compiler has rlimit64" DIRECT)
|
||||||
|
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES)
|
||||||
|
IF(KWSYS_CXX_HAS_RLIMIT64)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_CXX_HAS_RLIMIT64=1)
|
||||||
|
ENDIF()
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_ATOL
|
||||||
|
"Checking whether CXX compiler has atol" DIRECT)
|
||||||
|
IF(KWSYS_CXX_HAS_ATOL)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_CXX_HAS_ATOL=1)
|
||||||
|
ENDIF()
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_ATOLL
|
||||||
|
"Checking whether CXX compiler has atoll" DIRECT)
|
||||||
|
IF(KWSYS_CXX_HAS_ATOLL)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_CXX_HAS_ATOLL=1)
|
||||||
|
ENDIF()
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS__ATOI64
|
||||||
|
"Checking whether CXX compiler has _atoi64" DIRECT)
|
||||||
|
IF(KWSYS_CXX_HAS__ATOI64)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_CXX_HAS__ATOI64=1)
|
||||||
|
ENDIF()
|
||||||
|
IF(KWSYS_USE___INT64)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_USE___INT64=1)
|
||||||
|
ENDIF()
|
||||||
|
IF(KWSYS_USE_LONG_LONG)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_USE_LONG_LONG=1)
|
||||||
|
ENDIF()
|
||||||
|
IF(KWSYS_IOS_HAS_OSTREAM_LONG_LONG)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_IOS_HAS_OSTREAM_LONG_LONG=1)
|
||||||
|
ENDIF()
|
||||||
|
IF(KWSYS_IOS_HAS_OSTREAM___INT64)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_IOS_HAS_OSTREAM___INT64=1)
|
||||||
|
ENDIF()
|
||||||
|
IF(KWSYS_BUILD_SHARED)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_BUILD_SHARED=1)
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
@ -802,9 +878,12 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS)
|
||||||
TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS})
|
TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS})
|
||||||
ENDIF(UNIX)
|
ENDIF(UNIX)
|
||||||
ENDIF(KWSYS_USE_DynamicLoader)
|
ENDIF(KWSYS_USE_DynamicLoader)
|
||||||
|
|
||||||
IF(KWSYS_USE_SystemInformation AND WIN32)
|
IF(KWSYS_USE_SystemInformation AND WIN32)
|
||||||
TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ws2_32)
|
TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ws2_32)
|
||||||
|
IF(KWSYS_SYS_HAS_PSAPI)
|
||||||
|
TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} Psapi)
|
||||||
|
ENDIF()
|
||||||
ENDIF(KWSYS_USE_SystemInformation AND WIN32)
|
ENDIF(KWSYS_USE_SystemInformation AND WIN32)
|
||||||
|
|
||||||
# Apply user-defined target properties to the library.
|
# Apply user-defined target properties to the library.
|
||||||
|
@ -842,6 +921,16 @@ ENDIF(KWSYS_ENABLE_C AND KWSYS_C_SRCS)
|
||||||
# line to configure the namespace in the C and C++ source files.
|
# line to configure the namespace in the C and C++ source files.
|
||||||
ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}")
|
ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}")
|
||||||
|
|
||||||
|
# Disable deprecation warnings for standard C functions.
|
||||||
|
IF(MSVC OR (WIN32 AND "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$"))
|
||||||
|
ADD_DEFINITIONS(
|
||||||
|
-D_CRT_NONSTDC_NO_DEPRECATE
|
||||||
|
-D_CRT_SECURE_NO_DEPRECATE
|
||||||
|
-D_CRT_SECURE_NO_WARNINGS
|
||||||
|
-D_SCL_SECURE_NO_DEPRECATE
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(KWSYS_USE_String)
|
IF(KWSYS_USE_String)
|
||||||
# Activate code in "String.c". See the comment in the source.
|
# Activate code in "String.c". See the comment in the source.
|
||||||
SET_SOURCE_FILES_PROPERTIES(String.c PROPERTIES
|
SET_SOURCE_FILES_PROPERTIES(String.c PROPERTIES
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# KWSys - Kitware System Library
|
# KWSys - Kitware System Library
|
||||||
# Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
# Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -9,10 +9,9 @@
|
||||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
# See the License for more information.
|
# See the License for more information.
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
set (CTEST_PROJECT_NAME "kwsys")
|
set(CTEST_PROJECT_NAME "KWSys")
|
||||||
set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
||||||
set (CTEST_DART_SERVER_VERSION "2")
|
|
||||||
set(CTEST_DROP_METHOD "http")
|
set(CTEST_DROP_METHOD "http")
|
||||||
set(CTEST_DROP_SITE "www.cdash.org")
|
set(CTEST_DROP_SITE "open.cdash.org")
|
||||||
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
|
set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard")
|
||||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
set(CTEST_DROP_SITE_CDASH TRUE)
|
||||||
|
|
|
@ -37,20 +37,6 @@
|
||||||
/* Whether kwsys namespace is "kwsys". */
|
/* Whether kwsys namespace is "kwsys". */
|
||||||
#define @KWSYS_NAMESPACE@_NAME_IS_KWSYS @KWSYS_NAME_IS_KWSYS@
|
#define @KWSYS_NAMESPACE@_NAME_IS_KWSYS @KWSYS_NAME_IS_KWSYS@
|
||||||
|
|
||||||
/* If we are building a kwsys .c or .cxx file, suppress the Microsoft
|
|
||||||
deprecation warnings. */
|
|
||||||
#if defined(KWSYS_NAMESPACE)
|
|
||||||
# ifndef _CRT_NONSTDC_NO_DEPRECATE
|
|
||||||
# define _CRT_NONSTDC_NO_DEPRECATE
|
|
||||||
# endif
|
|
||||||
# ifndef _CRT_SECURE_NO_DEPRECATE
|
|
||||||
# define _CRT_SECURE_NO_DEPRECATE
|
|
||||||
# endif
|
|
||||||
# ifndef _SCL_SECURE_NO_DEPRECATE
|
|
||||||
# define _SCL_SECURE_NO_DEPRECATE
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Whether Large File Support is requested. */
|
/* Whether Large File Support is requested. */
|
||||||
#define @KWSYS_NAMESPACE@_LFS_REQUESTED @KWSYS_LFS_REQUESTED@
|
#define @KWSYS_NAMESPACE@_LFS_REQUESTED @KWSYS_LFS_REQUESTED@
|
||||||
|
|
||||||
|
|
|
@ -2732,6 +2732,7 @@ static void kwsysProcessesSignalHandler(int signum
|
||||||
kwsysProcess* cp = kwsysProcesses.Processes[i];
|
kwsysProcess* cp = kwsysProcesses.Processes[i];
|
||||||
kwsysProcess_ssize_t status=
|
kwsysProcess_ssize_t status=
|
||||||
read(cp->PipeReadEnds[KWSYSPE_PIPE_SIGNAL], &buf, 1);
|
read(cp->PipeReadEnds[KWSYSPE_PIPE_SIGNAL], &buf, 1);
|
||||||
|
(void)status;
|
||||||
status=write(cp->SignalPipe, &buf, 1);
|
status=write(cp->SignalPipe, &buf, 1);
|
||||||
(void)status;
|
(void)status;
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -24,14 +24,22 @@
|
||||||
namespace @KWSYS_NAMESPACE@
|
namespace @KWSYS_NAMESPACE@
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// forward declare the implementation class
|
||||||
// forward declare the implementation class
|
|
||||||
class SystemInformationImplementation;
|
class SystemInformationImplementation;
|
||||||
|
|
||||||
class @KWSYS_NAMESPACE@_EXPORT SystemInformation
|
|
||||||
{
|
|
||||||
|
|
||||||
|
class @KWSYS_NAMESPACE@_EXPORT SystemInformation
|
||||||
|
{
|
||||||
|
#if @KWSYS_USE_LONG_LONG@
|
||||||
|
typedef long long LongLong;
|
||||||
|
#elif @KWSYS_USE___INT64@
|
||||||
|
typedef __int64 LongLong;
|
||||||
|
#else
|
||||||
|
# error "No Long Long"
|
||||||
|
#endif
|
||||||
|
friend class SystemInformationImplementation;
|
||||||
|
SystemInformationImplementation* Implementation;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SystemInformation ();
|
SystemInformation ();
|
||||||
~SystemInformation ();
|
~SystemInformation ();
|
||||||
|
|
||||||
|
@ -40,6 +48,7 @@ public:
|
||||||
kwsys_stl::string GetTypeID();
|
kwsys_stl::string GetTypeID();
|
||||||
kwsys_stl::string GetFamilyID();
|
kwsys_stl::string GetFamilyID();
|
||||||
kwsys_stl::string GetModelID();
|
kwsys_stl::string GetModelID();
|
||||||
|
kwsys_stl::string GetModelName();
|
||||||
kwsys_stl::string GetSteppingCode();
|
kwsys_stl::string GetSteppingCode();
|
||||||
const char * GetExtendedProcessorName();
|
const char * GetExtendedProcessorName();
|
||||||
const char * GetProcessorSerialNumber();
|
const char * GetProcessorSerialNumber();
|
||||||
|
@ -49,13 +58,27 @@ public:
|
||||||
int GetProcessorAPICID();
|
int GetProcessorAPICID();
|
||||||
int GetProcessorCacheXSize(long int);
|
int GetProcessorCacheXSize(long int);
|
||||||
bool DoesCPUSupportFeature(long int);
|
bool DoesCPUSupportFeature(long int);
|
||||||
|
|
||||||
const char * GetOSName();
|
// returns an informative general description of the cpu
|
||||||
|
// on this system.
|
||||||
|
kwsys_stl::string GetCPUDescription();
|
||||||
|
|
||||||
const char * GetHostname();
|
const char * GetHostname();
|
||||||
|
kwsys_stl::string GetFullyQualifiedDomainName();
|
||||||
|
|
||||||
|
const char * GetOSName();
|
||||||
const char * GetOSRelease();
|
const char * GetOSRelease();
|
||||||
const char * GetOSVersion();
|
const char * GetOSVersion();
|
||||||
const char * GetOSPlatform();
|
const char * GetOSPlatform();
|
||||||
|
|
||||||
|
int GetOSIsWindows();
|
||||||
|
int GetOSIsLinux();
|
||||||
|
int GetOSIsApple();
|
||||||
|
|
||||||
|
// returns an informative general description of the os
|
||||||
|
// on this system.
|
||||||
|
kwsys_stl::string GetOSDescription();
|
||||||
|
|
||||||
bool Is64Bits();
|
bool Is64Bits();
|
||||||
|
|
||||||
unsigned int GetNumberOfLogicalCPU(); // per physical cpu
|
unsigned int GetNumberOfLogicalCPU(); // per physical cpu
|
||||||
|
@ -63,20 +86,62 @@ public:
|
||||||
|
|
||||||
bool DoesCPUSupportCPUID();
|
bool DoesCPUSupportCPUID();
|
||||||
|
|
||||||
|
// Retrieve id of the current running process
|
||||||
|
LongLong GetProcessId();
|
||||||
|
|
||||||
// Retrieve memory information in megabyte.
|
// Retrieve memory information in megabyte.
|
||||||
size_t GetTotalVirtualMemory();
|
size_t GetTotalVirtualMemory();
|
||||||
size_t GetAvailableVirtualMemory();
|
size_t GetAvailableVirtualMemory();
|
||||||
size_t GetTotalPhysicalMemory();
|
size_t GetTotalPhysicalMemory();
|
||||||
size_t GetAvailablePhysicalMemory();
|
size_t GetAvailablePhysicalMemory();
|
||||||
|
|
||||||
|
// returns an informative general description if the installed and
|
||||||
|
// available ram on this system. See the GetHostMmeoryTotal, and
|
||||||
|
// Get{Host,Proc}MemoryAvailable methods for more information.
|
||||||
|
kwsys_stl::string GetMemoryDescription(
|
||||||
|
const char *hostLimitEnvVarName=NULL,
|
||||||
|
const char *procLimitEnvVarName=NULL);
|
||||||
|
|
||||||
|
// Retrieve amount of physical memory installed on the system in KiB
|
||||||
|
// units.
|
||||||
|
LongLong GetHostMemoryTotal();
|
||||||
|
|
||||||
|
// Get total system RAM in units of KiB available colectivley to all
|
||||||
|
// processes in a process group. An example of a process group
|
||||||
|
// are the processes comprising an mpi program which is running in
|
||||||
|
// parallel. The amount of memory reported may differ from the host
|
||||||
|
// total if a host wide resource limit is applied. Such reource limits
|
||||||
|
// are reported to us via an applicaiton specified environment variable.
|
||||||
|
LongLong GetHostMemoryAvailable(const char *hostLimitEnvVarName=NULL);
|
||||||
|
|
||||||
|
// Get total system RAM in units of KiB available to this process.
|
||||||
|
// This may differ from the host available if a per-process resource
|
||||||
|
// limit is applied. per-process memory limits are applied on unix
|
||||||
|
// system via rlimit api. Resource limits that are not imposed via
|
||||||
|
// rlimit api may be reported to us via an application specified
|
||||||
|
// environment variable.
|
||||||
|
LongLong GetProcMemoryAvailable(
|
||||||
|
const char *hostLimitEnvVarName=NULL,
|
||||||
|
const char *procLimitEnvVarName=NULL);
|
||||||
|
|
||||||
|
// Get the system RAM used by all processes on the host, in units of KiB.
|
||||||
|
LongLong GetHostMemoryUsed();
|
||||||
|
|
||||||
|
// Get system RAM used by this process id in units of KiB.
|
||||||
|
LongLong GetProcMemoryUsed();
|
||||||
|
|
||||||
|
// enable/disable stack trace signal handler. In order to
|
||||||
|
// produce an informative stack trace the application should
|
||||||
|
// be dynamically linked and compiled with debug symbols.
|
||||||
|
static
|
||||||
|
void SetStackTraceOnError(int enable);
|
||||||
|
|
||||||
/** Run the different checks */
|
/** Run the different checks */
|
||||||
void RunCPUCheck();
|
void RunCPUCheck();
|
||||||
void RunOSCheck();
|
void RunOSCheck();
|
||||||
void RunMemoryCheck();
|
void RunMemoryCheck();
|
||||||
private:
|
|
||||||
SystemInformationImplementation* Implementation;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace @KWSYS_NAMESPACE@
|
} // namespace @KWSYS_NAMESPACE@
|
||||||
|
|
||||||
/* Undefine temporary macros. */
|
/* Undefine temporary macros. */
|
||||||
|
|
|
@ -1665,7 +1665,7 @@ kwsys_stl::string SystemTools::EscapeChars(
|
||||||
kwsys_stl::string n;
|
kwsys_stl::string n;
|
||||||
if (str)
|
if (str)
|
||||||
{
|
{
|
||||||
if (!chars_to_escape | !*chars_to_escape)
|
if (!chars_to_escape || !*chars_to_escape)
|
||||||
{
|
{
|
||||||
n.append(str);
|
n.append(str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -358,6 +358,30 @@ int main()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_IOS_HAS_ISTREAM___INT64
|
||||||
|
int test_istream(kwsys_ios::istream& is, __int64& x)
|
||||||
|
{
|
||||||
|
return (is >> x)? 1:0;
|
||||||
|
}
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
__int64 x = 0;
|
||||||
|
return test_istream(kwsys_ios::cin, x);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_IOS_HAS_OSTREAM___INT64
|
||||||
|
int test_ostream(kwsys_ios::ostream& os, __int64 x)
|
||||||
|
{
|
||||||
|
return (os << x)? 1:0;
|
||||||
|
}
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
__int64 x = 0;
|
||||||
|
return test_ostream(kwsys_ios::cout, x);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TEST_KWSYS_CHAR_IS_SIGNED
|
#ifdef TEST_KWSYS_CHAR_IS_SIGNED
|
||||||
/* Return 0 for char signed and 1 for char unsigned. */
|
/* Return 0 for char signed and 1 for char unsigned. */
|
||||||
int main()
|
int main()
|
||||||
|
@ -428,6 +452,48 @@ int main()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_CXX_HAS_RLIMIT64
|
||||||
|
# if defined(KWSYS_HAS_LFS)
|
||||||
|
# define _LARGEFILE_SOURCE
|
||||||
|
# define _LARGEFILE64_SOURCE
|
||||||
|
# define _LARGE_FILES
|
||||||
|
# define _FILE_OFFSET_BITS 64
|
||||||
|
# endif
|
||||||
|
# include <sys/resource.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
struct rlimit64 rlim;
|
||||||
|
return getrlimit64(0,&rlim);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_CXX_HAS_ATOLL
|
||||||
|
#include <stdlib.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
const char *str="1024";
|
||||||
|
return static_cast<int>(atoll(str));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_CXX_HAS_ATOL
|
||||||
|
#include <stdlib.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
const char *str="1024";
|
||||||
|
return static_cast<int>(atol(str));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_CXX_HAS__ATOI64
|
||||||
|
#include <stdlib.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
const char *str="1024";
|
||||||
|
return static_cast<int>(_atoi64(str));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TEST_KWSYS_CXX_TYPE_INFO
|
#ifdef TEST_KWSYS_CXX_TYPE_INFO
|
||||||
/* Collect fundamental type information and save it to a CMake script. */
|
/* Collect fundamental type information and save it to a CMake script. */
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
#include KWSYS_HEADER(SystemInformation.hxx)
|
#include KWSYS_HEADER(SystemInformation.hxx)
|
||||||
#include KWSYS_HEADER(ios/iostream)
|
#include KWSYS_HEADER(ios/iostream)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Work-around CMake dependency scanning limitation. This must
|
// Work-around CMake dependency scanning limitation. This must
|
||||||
// duplicate the above list of headers.
|
// duplicate the above list of headers.
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -22,12 +20,31 @@
|
||||||
# include "kwsys_ios_iostream.h.in"
|
# include "kwsys_ios_iostream.h.in"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define printMethod(inof, m) kwsys_ios::cout << #m << ": " \
|
#if defined(KWSYS_USE_LONG_LONG)
|
||||||
|
# if defined(KWSYS_IOS_HAS_OSTREAM_LONG_LONG)
|
||||||
|
# define iostreamLongLong(x) (x)
|
||||||
|
# else
|
||||||
|
# define iostreamLongLong(x) ((long)x)
|
||||||
|
# endif
|
||||||
|
#elif defined(KWSYS_USE___INT64)
|
||||||
|
# if defined(KWSYS_IOS_HAS_OSTREAM___INT64)
|
||||||
|
# define iostreamLongLong(x) (x)
|
||||||
|
# else
|
||||||
|
# define iostreamLongLong(x) ((long)x)
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# error "No Long Long"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define printMethod(info, m) kwsys_ios::cout << #m << ": " \
|
||||||
<< info.m() << "\n"
|
<< info.m() << "\n"
|
||||||
|
|
||||||
#define printMethod2(inof, m, unit) kwsys_ios::cout << #m << ": " \
|
#define printMethod2(info, m, unit) kwsys_ios::cout << #m << ": " \
|
||||||
<< info.m() << " " << unit << "\n"
|
<< info.m() << " " << unit << "\n"
|
||||||
|
|
||||||
|
#define printMethod3(info, m, unit) kwsys_ios::cout << #m << ": " \
|
||||||
|
<< iostreamLongLong(info.m) << " " << unit << "\n"
|
||||||
|
|
||||||
int testSystemInformation(int, char*[])
|
int testSystemInformation(int, char*[])
|
||||||
{
|
{
|
||||||
kwsys::SystemInformation info;
|
kwsys::SystemInformation info;
|
||||||
|
@ -35,7 +52,11 @@ int testSystemInformation(int, char*[])
|
||||||
info.RunOSCheck();
|
info.RunOSCheck();
|
||||||
info.RunMemoryCheck();
|
info.RunMemoryCheck();
|
||||||
printMethod(info, GetOSName);
|
printMethod(info, GetOSName);
|
||||||
|
printMethod(info, GetOSIsLinux);
|
||||||
|
printMethod(info, GetOSIsApple);
|
||||||
|
printMethod(info, GetOSIsWindows);
|
||||||
printMethod(info, GetHostname);
|
printMethod(info, GetHostname);
|
||||||
|
printMethod(info, GetFullyQualifiedDomainName);
|
||||||
printMethod(info, GetOSRelease);
|
printMethod(info, GetOSRelease);
|
||||||
printMethod(info, GetOSVersion);
|
printMethod(info, GetOSVersion);
|
||||||
printMethod(info, GetOSPlatform);
|
printMethod(info, GetOSPlatform);
|
||||||
|
@ -58,6 +79,11 @@ int testSystemInformation(int, char*[])
|
||||||
printMethod2(info, GetAvailableVirtualMemory, "MB");
|
printMethod2(info, GetAvailableVirtualMemory, "MB");
|
||||||
printMethod2(info, GetTotalPhysicalMemory, "MB");
|
printMethod2(info, GetTotalPhysicalMemory, "MB");
|
||||||
printMethod2(info, GetAvailablePhysicalMemory, "MB");
|
printMethod2(info, GetAvailablePhysicalMemory, "MB");
|
||||||
|
printMethod3(info, GetHostMemoryTotal(), "KiB");
|
||||||
|
printMethod3(info, GetHostMemoryAvailable("KWSHL"), "KiB");
|
||||||
|
printMethod3(info, GetProcMemoryAvailable("KWSHL","KWSPL"), "KiB");
|
||||||
|
printMethod3(info, GetHostMemoryUsed(), "KiB");
|
||||||
|
printMethod3(info, GetProcMemoryUsed(), "KiB");
|
||||||
|
|
||||||
//int GetProcessorCacheXSize(long int);
|
//int GetProcessorCacheXSize(long int);
|
||||||
// bool DoesCPUSupportFeature(long int);
|
// bool DoesCPUSupportFeature(long int);
|
||||||
|
|
|
@ -47,18 +47,16 @@ if test -z "$HOOKS_ALLOW_KWSYS"; then
|
||||||
|
|
||||||
'"$(echo "$files" | sed 's/^/ /')"'
|
'"$(echo "$files" | sed 's/^/ /')"'
|
||||||
|
|
||||||
cannot be committed through Git. KWSys is kept in a CVS repository
|
should not be made directly in CMake. KWSys is kept in its own Git
|
||||||
shared by several projects. A robot replays changes committed there
|
repository and shared by several projects. Please visit
|
||||||
into the Source/kwsys directory in CMake. Please send changes to
|
|
||||||
this directory separately. Run
|
http://public.kitware.com/Wiki/KWSys/Git
|
||||||
|
|
||||||
|
to contribute changes directly to KWSys. Run
|
||||||
|
|
||||||
git reset HEAD -- Source/kwsys
|
git reset HEAD -- Source/kwsys
|
||||||
|
|
||||||
to unstage these changes and then
|
to unstage these changes. Alternatively, set environment variable
|
||||||
|
|
||||||
git diff -- Source/kwsys > kwsys.patch
|
|
||||||
|
|
||||||
to construct the patch. Alternatively, set environment variable
|
|
||||||
|
|
||||||
HOOKS_ALLOW_KWSYS=1
|
HOOKS_ALLOW_KWSYS=1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue