1
0
Эх сурвалжийг харах

ENH: Switching KWSYS_CHAR_IS_SIGNED test to use KWSYS_PLATFORM_CXX_TEST_RUN macro.

Brad King 19 жил өмнө
parent
commit
6c75c03143

+ 2 - 18
Source/kwsys/CMakeLists.txt

@@ -437,24 +437,8 @@ IF(KWSYS_USE_FundamentalType)
   ENDIF(KWSYS_USE___INT64)
 
   # Check signedness of "char" type.
-  IF("KWSYS_CHAR_IS_SIGNED" MATCHES "^KWSYS_CHAR_IS_SIGNED$")
-    MESSAGE(STATUS "Checking signedness of char")
-    TRY_RUN(KWSYS_CHAR_IS_SIGNED KWSYS_CHAR_IS_SIGNED_COMPILED
-      ${CMAKE_CURRENT_BINARY_DIR}
-      ${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cxx
-      COMPILE_DEFINITIONS -DTEST_KWSYS_CHAR_IS_SIGNED)
-    IF(KWSYS_CHAR_IS_SIGNED_COMPILED)
-      IF(KWSYS_CHAR_IS_SIGNED)
-        MESSAGE(STATUS "Checking signedness of char -- signed")
-        SET(KWSYS_CHAR_IS_SIGNED 1 CACHE INTERNAL "Whether char is signed.")
-      ELSE(KWSYS_CHAR_IS_SIGNED)
-        MESSAGE(STATUS "Checking signedness of char -- unsigned")
-        SET(KWSYS_CHAR_IS_SIGNED 0 CACHE INTERNAL "Whether char is signed.")
-      ENDIF(KWSYS_CHAR_IS_SIGNED)
-    ELSE(KWSYS_CHAR_IS_SIGNED_COMPILED)
-      MESSAGE(FATAL_ERROR "Checking signedness of char -- failed")
-    ENDIF(KWSYS_CHAR_IS_SIGNED_COMPILED)
-  ENDIF("KWSYS_CHAR_IS_SIGNED" MATCHES "^KWSYS_CHAR_IS_SIGNED$")
+  KWSYS_PLATFORM_CXX_TEST_RUN(KWSYS_CHAR_IS_SIGNED
+    "Checking whether char is signed" DIRECT)
 ENDIF(KWSYS_USE_FundamentalType)
 
 IF(KWSYS_NAMESPACE MATCHES "^kwsys$")

+ 2 - 2
Source/kwsys/kwsysPlatformCxxTests.cxx

@@ -267,11 +267,11 @@ int main()
 #endif
 
 #ifdef TEST_KWSYS_CHAR_IS_SIGNED
-/* Return 1 for char signed and 0 for char unsigned.  */
+/* Return 0 for char signed and 1 for char unsigned.  */
 int main()
 {
   unsigned char uc = 255;
-  return (*reinterpret_cast<char*>(&uc) < 0)?1:0;
+  return (*reinterpret_cast<char*>(&uc) < 0)?0:1;
 }
 #endif