From ab628c1dadfdb66f2b599072ce8acdf72b680c8c Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 6 Sep 2012 12:38:31 +0200
Subject: [PATCH] Implemented size type and existence of header file checks.

Conflicts:
	BaseLib/Configure.h.in
---
 BaseLib/Configure.h.in                | 21 +++++++++++++++++++++
 CMakeLists.txt                        |  2 ++
 scripts/cmake/CheckTypeSizes.cmake    |  6 ++++++
 scripts/cmake/FindIncludeHeader.cmake | 15 +++++++++++++++
 4 files changed, 44 insertions(+)
 create mode 100644 scripts/cmake/CheckTypeSizes.cmake
 create mode 100644 scripts/cmake/FindIncludeHeader.cmake

diff --git a/BaseLib/Configure.h.in b/BaseLib/Configure.h.in
index 0d9a33c8155..2e2bf998ab2 100644
--- a/BaseLib/Configure.h.in
+++ b/BaseLib/Configure.h.in
@@ -12,6 +12,27 @@
  #ifndef CONFIGURE_H
  #define CONFIGURE_H
 
+// Type sizes
+#cmakedefine SIZEOF_INT ${SIZEOF_INT}
+#cmakedefine SIZEOF_LONG ${SIZEOF_LONG}
+#cmakedefine SIZEOF_LONG_LONG ${SIZEOF_LONG_LONG}
+#cmakedefine SIZEOF_VOID_P ${SIZEOF_VOID_P}
+
+// Has includes?
+#cmakedefine HAVE_DLFCN_H
+#cmakedefine HAVE_INTTYPES_H
+#cmakedefine HAVE_MALLOC_H
+#cmakedefine HAVE_MEMORY_H
+#cmakedefine HAVE_STDINT_H
+#cmakedefine HAVE_STDLIB_H
+#cmakedefine HAVE_STRINGS_H
+#cmakedefine HAVE_STRING_H
+#cmakedefine HAVE_SYS_STAT_H
+#cmakedefine HAVE_SYS_TIME_H
+#cmakedefine HAVE_SYS_TYPES_H
+#cmakedefine HAVE_UNISTD_H
+#cmakedefine HAVE_SYS_MOUNT_H
+
 #define SOURCEPATH "${CMAKE_SOURCE_DIR}"
 
 #cmakedefine OGS_VERSION "${OGS_VERSION}"
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f12857f6568..99cdefed5b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,8 @@ cmake_minimum_required(VERSION 2.6)
 project( OGS-6 )
 
 ### CMake includes ###
+INCLUDE(scripts/cmake/CheckTypeSizes.cmake)
+INCLUDE(scripts/cmake/FindIncludeHeader.cmake)
 INCLUDE(scripts/cmake/Functions.cmake)
 INCLUDE(scripts/cmake/CMakeSetup.cmake)
 INCLUDE(scripts/cmake/CompilerSetup.cmake)
diff --git a/scripts/cmake/CheckTypeSizes.cmake b/scripts/cmake/CheckTypeSizes.cmake
new file mode 100644
index 00000000000..c73aed8b3d4
--- /dev/null
+++ b/scripts/cmake/CheckTypeSizes.cmake
@@ -0,0 +1,6 @@
+INCLUDE (CheckTypeSize)
+
+CHECK_TYPE_SIZE(int SIZEOF_INT)
+CHECK_TYPE_SIZE(long SIZEOF_LONG)
+CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG)
+CHECK_TYPE_SIZE("void *" SIZEOF_VOID_P)
\ No newline at end of file
diff --git a/scripts/cmake/FindIncludeHeader.cmake b/scripts/cmake/FindIncludeHeader.cmake
new file mode 100644
index 00000000000..2e0b21856b1
--- /dev/null
+++ b/scripts/cmake/FindIncludeHeader.cmake
@@ -0,0 +1,15 @@
+INCLUDE (CheckIncludeFiles)
+
+CHECK_INCLUDE_FILES (dlfcn.h HAVE_DLFCN_H)
+CHECK_INCLUDE_FILES (inttypes.h HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
+CHECK_INCLUDE_FILES (memory.h HAVE_MEMORY_H)
+CHECK_INCLUDE_FILES (stdint.h HAVE_STDINT_H)
+CHECK_INCLUDE_FILES (stdlib.h HAVE_STDLIB_H)
+CHECK_INCLUDE_FILES (strings.h HAVE_STRINGS_H)
+CHECK_INCLUDE_FILES (string.h HAVE_STRING_H)
+CHECK_INCLUDE_FILES (sys/stat.h HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILES (sys/time.h HAVE_SYS_TIME_H)
+CHECK_INCLUDE_FILES (sys/types.h HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H)
+CHECK_INCLUDE_FILES ("sys/param.h;sys/mount.h" HAVE_SYS_MOUNT_H)
\ No newline at end of file
-- 
GitLab