|
|
@@ -509,19 +509,28 @@ ENDIF(KWSYS_USE_FundamentalType)
|
|
|
|
|
|
IF(KWSYS_USE_IOStream)
|
|
|
# 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)
|
|
|
- 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
|
|
|
"Checking if istream supports long long" DIRECT)
|
|
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_OSTREAM_LONG_LONG
|
|
|
"Checking if ostream supports long long" DIRECT)
|
|
|
- SET(KWSYS_PLATFORM_CXX_TEST_DEFINES)
|
|
|
ELSE()
|
|
|
SET(KWSYS_IOS_HAS_ISTREAM_LONG_LONG 0)
|
|
|
SET(KWSYS_IOS_HAS_OSTREAM_LONG_LONG 0)
|
|
|
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)
|
|
|
|
|
|
IF(KWSYS_NAMESPACE MATCHES "^kwsys$")
|
|
|
@@ -566,9 +575,76 @@ IF(KWSYS_USE_SystemTools)
|
|
|
ENDIF()
|
|
|
|
|
|
IF(KWSYS_USE_SystemInformation)
|
|
|
- SET_PROPERTY(SOURCE SystemInformation.cxx PROPERTY
|
|
|
- COMPILE_DEFINITIONS KWSYS_USE_LONG_LONG=${KWSYS_USE_LONG_LONG}
|
|
|
- KWSYS_USE___INT64=${KWSYS_USE___INT64})
|
|
|
+ IF(NOT CYGWIN)
|
|
|
+ INCLUDE(CheckIncludeFiles)
|
|
|
+ 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()
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
@@ -802,9 +878,12 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS)
|
|
|
TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS})
|
|
|
ENDIF(UNIX)
|
|
|
ENDIF(KWSYS_USE_DynamicLoader)
|
|
|
-
|
|
|
+
|
|
|
IF(KWSYS_USE_SystemInformation AND WIN32)
|
|
|
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)
|
|
|
|
|
|
# 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.
|
|
|
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)
|
|
|
# Activate code in "String.c". See the comment in the source.
|
|
|
SET_SOURCE_FILES_PROPERTIES(String.c PROPERTIES
|