From e4b74298ce7f88741e249c6956fcd7d937a7b76d Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Mon, 22 Dec 2003 11:20:52 -0500
Subject: [PATCH] ENH: All platform tests are now in kwsysPlatformCxxTests.cxx.
  This makes the listfile code much more readable.

---
 CMakeLists.txt            | 38 +++++++++++---------------------------
 kwsysPlatformCxxTests.cxx | 20 ++++++++++++++++++++
 2 files changed, 31 insertions(+), 27 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fd53fc6..e3d66f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -112,54 +112,38 @@ ENDIF(CMAKE_ANSI_CFLAGS)
 # capabilities and parent project's request.  Enforce 0/1 as only
 # possible values for configuration into Configure.hxx.
 INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
 
 KWSYS_PLATFORM_CXX_TEST(KWSYS_STL_HAVE_STD
-  "Checking whether STL classes are in std" DIRECT)
+  "Checking whether STL classes are in std namespace" DIRECT)
 
-# Select ANSI or old streams.
 IF(KWSYS_IOS_FORCE_OLD)
   SET(KWSYS_IOS_HAVE_ANSI 0)
 ELSE(KWSYS_IOS_FORCE_OLD)
-  CHECK_INCLUDE_FILE_CXX("iosfwd" KWSYS_IOS_HAVE_ANSI)
-  IF(KWSYS_IOS_HAVE_ANSI)
-    SET(KWSYS_IOS_HAVE_ANSI 1)
-  ELSE(KWSYS_IOS_HAVE_ANSI)
-    SET(KWSYS_IOS_HAVE_ANSI 0)
-  ENDIF(KWSYS_IOS_HAVE_ANSI)
+  KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAVE_ANSI
+    "Checking whether ANSI stream headers are available" DIRECT)
 ENDIF(KWSYS_IOS_FORCE_OLD)
 
-# Select string stream.
 IF(KWSYS_IOS_HAVE_ANSI)
   KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAVE_STD
-    "Checking whether ANSI streams are in std" DIRECT)
-  CHECK_INCLUDE_FILE_CXX("sstream" KWSYS_IOS_HAVE_SSTREAM)
-  IF(KWSYS_IOS_HAVE_SSTREAM)
-    SET(KWSYS_IOS_HAVE_SSTREAM 1)
-  ELSE(KWSYS_IOS_HAVE_SSTREAM)
-    SET(KWSYS_IOS_HAVE_SSTREAM 0)
-  ENDIF(KWSYS_IOS_HAVE_SSTREAM)
+    "Checking whether ANSI streams are in std namespace" DIRECT)
+  KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAVE_SSTREAM
+    "Checking whether ANSI string stream is available" DIRECT)
 ELSE(KWSYS_IOS_HAVE_ANSI)
   SET(KWSYS_IOS_HAVE_STD 0)
   SET(KWSYS_IOS_HAVE_SSTREAM 0)
 ENDIF(KWSYS_IOS_HAVE_ANSI)
 
 IF(KWSYS_IOS_HAVE_SSTREAM)
-  SET(KWSYS_IOS_HAVE_STRSTREA_H 0)
   SET(KWSYS_IOS_HAVE_STRSTREAM_H 0)
+  SET(KWSYS_IOS_HAVE_STRSTREA_H 0)
 ELSE(KWSYS_IOS_HAVE_SSTREAM)
-  CHECK_INCLUDE_FILE_CXX("strstream.h" KWSYS_IOS_HAVE_STRSTREAM_H)
+  KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAVE_STRSTREAM_H
+    "Checking whether strstream.h is available" DIRECT)
   IF(KWSYS_IOS_HAVE_STRSTREAM_H)
-    SET(KWSYS_IOS_HAVE_STRSTREAM_H 1)
     SET(KWSYS_IOS_HAVE_STRSTREA_H 0)
   ELSE(KWSYS_IOS_HAVE_STRSTREAM_H)
-    SET(KWSYS_IOS_HAVE_STRSTREAM_H 0)
-    CHECK_INCLUDE_FILE_CXX("strstrea.h" KWSYS_IOS_HAVE_STRSTREA_H)
-    IF(KWSYS_IOS_HAVE_STRSTREA_H)
-      SET(KWSYS_IOS_HAVE_STRSTREA_H 1)
-    ELSE(KWSYS_IOS_HAVE_STRSTREA_H)
-      SET(KWSYS_IOS_HAVE_STRSTREA_H 0)
-    ENDIF(KWSYS_IOS_HAVE_STRSTREA_H)
+    KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAVE_STRSTREA_H
+      "Checking whether strstrea.h is available" DIRECT)
   ENDIF(KWSYS_IOS_HAVE_STRSTREAM_H)
 ENDIF(KWSYS_IOS_HAVE_SSTREAM)
 
diff --git a/kwsysPlatformCxxTests.cxx b/kwsysPlatformCxxTests.cxx
index 29e8ecf..b2c016b 100644
--- a/kwsysPlatformCxxTests.cxx
+++ b/kwsysPlatformCxxTests.cxx
@@ -4,8 +4,28 @@ void f(std::list<int>*) {}
 int main() { return 0; }
 #endif
 
+#ifdef TEST_KWSYS_IOS_HAVE_ANSI
+#include <iosfwd>
+int main() { return 0; }
+#endif
+
 #ifdef TEST_KWSYS_IOS_HAVE_STD
 #include <iosfwd>
 void f(std::ostream*) {}
 int main() { return 0; }
 #endif
+
+#ifdef TEST_KWSYS_IOS_HAVE_SSTREAM
+#include <sstream>
+int main() { return 0; }
+#endif
+
+#ifdef TEST_KWSYS_IOS_HAVE_STRSTREAM_H
+#include <strstream.h>
+int main() { return 0; }
+#endif
+
+#ifdef TEST_KWSYS_IOS_HAVE_STRSTREA_H
+#include <strstrea.h>
+int main() { return 0; }
+#endif
-- 
GitLab