diff options
-rw-r--r-- | Modules/FindQt4.cmake | 20 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 2 | ||||
-rw-r--r-- | Source/kwsys/CMakeLists.txt | 70 | ||||
-rw-r--r-- | Source/kwsys/SystemInformation.cxx | 2 | ||||
-rw-r--r-- | Source/kwsys/hash_fun.hxx.in | 5 | ||||
-rw-r--r-- | Source/kwsys/kwsysPlatformTestsCXX.cxx | 9 |
7 files changed, 68 insertions, 42 deletions
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index 9b646b4..f9db5e1 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -1169,10 +1169,22 @@ ELSE( Qt4_FIND_COMPONENTS ) ENDIF( Qt4_FIND_COMPONENTS ) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt4 - REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} - VERSION_VAR QTVERSION - ) +if (QT_VERSION_MAJOR GREATER 4) + SET(VERSION_MSG "Found unsuitable Qt version \"${QTVERSION}\" from ${QT_QMAKE_EXECUTABLE}") + SET(QT4_FOUND FALSE) + IF(Qt4_FIND_REQUIRED) + MESSAGE( FATAL_ERROR "${VERSION_MSG}, this code requires Qt 4.x") + ELSE(Qt4_FIND_REQUIRED) + IF(NOT Qt4_FIND_QUIETLY) + MESSAGE( STATUS "${VERSION_MSG}") + ENDIF(NOT Qt4_FIND_QUIETLY) + ENDIF(Qt4_FIND_REQUIRED) +else() + FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt4 + REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} + VERSION_VAR QTVERSION + ) +endif() ####################################### # diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 518ec8c..9a31b07 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -2,5 +2,5 @@ SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 8) SET(CMake_VERSION_PATCH 8) -SET(CMake_VERSION_TWEAK 20120503) +SET(CMake_VERSION_TWEAK 20120508) #SET(CMake_VERSION_RC 1) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 4789197..c9bb006 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -832,7 +832,7 @@ void cmTarget::DefineProperties(cmake *cm) "plugins. If you use it on normal shared libraries which other targets " "link against, on some platforms a linker will insert a full path to " "the library (as specified at link time) into the dynamic section of " - "the dependant binary. Therefore, once installed, dynamic linker may " + "the dependent binary. Therefore, once installed, dynamic loader may " "eventually fail to locate the library for the binary."); cm->DefineProperty diff --git a/Source/kwsys/CMakeLists.txt b/Source/kwsys/CMakeLists.txt index 520cafb..a132357 100644 --- a/Source/kwsys/CMakeLists.txt +++ b/Source/kwsys/CMakeLists.txt @@ -141,7 +141,6 @@ IF(KWSYS_USE_Process) SET(KWSYS_USE_System 1) ENDIF(KWSYS_USE_Process) IF(KWSYS_USE_SystemInformation) - SET(KWSYS_USE_FundamentalType 1) SET(KWSYS_USE_Process 1) ENDIF(KWSYS_USE_SystemInformation) @@ -413,6 +412,39 @@ IF(UNIX) "Checking whether struct stat has st_mtim member" DIRECT) ENDIF(UNIX) +# Check existence and uniqueness of long long and __int64. +KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_LONG_LONG + "Checking whether C++ compiler has 'long long'" DIRECT) +KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS___INT64 + "Checking whether C++ compiler has '__int64'" DIRECT) +IF(KWSYS_CXX_HAS___INT64) + KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_AND___INT64 + "Checking whether long and __int64 are the same type" DIRECT) + IF(KWSYS_CXX_HAS_LONG_LONG) + KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_LONG_AND___INT64 + "Checking whether long long and __int64 are the same type" DIRECT) + ENDIF() +ENDIF() + +# Enable the "long long" type if it is available. It is standard in +# C99 and C++03 but not in earlier standards. +IF(KWSYS_CXX_HAS_LONG_LONG) + SET(KWSYS_USE_LONG_LONG 1) +ELSE() + SET(KWSYS_USE_LONG_LONG 0) +ENDIF() + +# Enable the "__int64" type if it is available and unique. It is not +# standard. +SET(KWSYS_USE___INT64 0) +IF(KWSYS_CXX_HAS___INT64) + IF(NOT KWSYS_CXX_SAME_LONG_AND___INT64) + IF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64) + SET(KWSYS_USE___INT64 1) + ENDIF() + ENDIF() +ENDIF() + IF(KWSYS_USE_FundamentalType) # Look for type size helper macros. KWSYS_PLATFORM_INFO_TEST(C KWSYS_C_TYPE_MACROS @@ -463,34 +495,6 @@ IF(KWSYS_USE_FundamentalType) ENDIF() ENDFOREACH() - # Check uniqueness of types. - IF(KWSYS_SIZEOF___INT64) - KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_AND___INT64 - "Checking whether long and __int64 are the same type" DIRECT) - IF(KWSYS_SIZEOF_LONG_LONG) - KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_LONG_AND___INT64 - "Checking whether long long and __int64 are the same type" DIRECT) - ENDIF(KWSYS_SIZEOF_LONG_LONG) - ENDIF(KWSYS_SIZEOF___INT64) - - # Enable the "long long" type if it is available. It is standard in - # C99 and C++03 but not in earlier standards. - IF(KWSYS_SIZEOF_LONG_LONG) - SET(KWSYS_USE_LONG_LONG 1) - ELSE(KWSYS_SIZEOF_LONG_LONG) - SET(KWSYS_USE_LONG_LONG 0) - ENDIF(KWSYS_SIZEOF_LONG_LONG) - - # Enable the "__int64" type if it is available and unique. It is not - # standard. - SET(KWSYS_USE___INT64 0) - IF(KWSYS_SIZEOF___INT64) - IF(NOT KWSYS_CXX_SAME_LONG_AND___INT64) - IF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64) - SET(KWSYS_USE___INT64 1) - ENDIF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64) - ENDIF(NOT KWSYS_CXX_SAME_LONG_AND___INT64) - ENDIF(KWSYS_SIZEOF___INT64) IF(KWSYS_USE___INT64) KWSYS_PLATFORM_CXX_TEST(KWSYS_CAN_CONVERT_UI64_TO_DOUBLE "Checking whether unsigned __int64 can convert to double" DIRECT) @@ -505,8 +509,6 @@ ENDIF(KWSYS_USE_FundamentalType) IF(KWSYS_USE_IOStream) # Determine whether iostreams support long long. - KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_LONG_LONG - "Checking whether C++ compiler has 'long long'" DIRECT) IF(KWSYS_CXX_HAS_LONG_LONG) SET(KWSYS_PLATFORM_CXX_TEST_DEFINES -DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI} @@ -563,6 +565,12 @@ IF(KWSYS_USE_SystemTools) COMPILE_FLAGS "-DKWSYS_CXX_HAS_SETENV=${KWSYS_CXX_HAS_SETENV} -DKWSYS_CXX_HAS_UNSETENV=${KWSYS_CXX_HAS_UNSETENV} -DKWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H=${KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H}") 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}) +ENDIF() + #----------------------------------------------------------------------------- # Choose a directory for the generated headers. IF(NOT KWSYS_HEADER_ROOT) diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx index d49c0d7..e1ee873 100644 --- a/Source/kwsys/SystemInformation.cxx +++ b/Source/kwsys/SystemInformation.cxx @@ -26,7 +26,6 @@ // http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx #include "kwsysPrivate.h" -#include KWSYS_HEADER(FundamentalType.h) #include KWSYS_HEADER(stl/string) #include KWSYS_HEADER(stl/vector) #include KWSYS_HEADER(ios/iosfwd) @@ -38,7 +37,6 @@ // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 -# include "FundamentalType.h.in" # include "SystemInformation.hxx.in" # include "Process.h.in" # include "Configure.hxx.in" diff --git a/Source/kwsys/hash_fun.hxx.in b/Source/kwsys/hash_fun.hxx.in index 8c5eb6a..6f787dd 100644 --- a/Source/kwsys/hash_fun.hxx.in +++ b/Source/kwsys/hash_fun.hxx.in @@ -38,7 +38,6 @@ #define @KWSYS_NAMESPACE@_hash_fun_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> -#include <@KWSYS_NAMESPACE@/FundamentalType.h> #include <@KWSYS_NAMESPACE@/cstddef> // size_t #include <@KWSYS_NAMESPACE@/stl/string> // string @@ -124,7 +123,7 @@ struct hash<unsigned long> { }; // use long long or __int64 -#if @KWSYS_NAMESPACE@_USE_LONG_LONG +#if @KWSYS_USE_LONG_LONG@ @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION struct hash<long long> { size_t operator()(long long __x) const { return __x; } @@ -134,7 +133,7 @@ struct hash<long long> { struct hash<unsigned long long> { size_t operator()(unsigned long long __x) const { return __x; } }; -#elif @KWSYS_NAMESPACE@_USE___INT64 +#elif @KWSYS_USE___INT64@ @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION struct hash<__int64> { size_t operator()(__int64 __x) const { return __x; } diff --git a/Source/kwsys/kwsysPlatformTestsCXX.cxx b/Source/kwsys/kwsysPlatformTestsCXX.cxx index 16124d3..7b73d06 100644 --- a/Source/kwsys/kwsysPlatformTestsCXX.cxx +++ b/Source/kwsys/kwsysPlatformTestsCXX.cxx @@ -122,6 +122,15 @@ int main() } #endif +#ifdef TEST_KWSYS_CXX_HAS___INT64 +__int64 f(__int64 n) { return n; } +int main() +{ + __int64 n = 0; + return static_cast<int>(f(n)); +} +#endif + #ifdef TEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS template <class T> class A; template <class T> int f(A<T>&); |