changeset 2611:308c54a6a883

fixing configuration bugs when building with cmake
author Vladimir S. FONOV <vladimir.fonov@gmail.com>
date Fri, 10 Feb 2012 15:57:44 -0500
parents 2ac77f7b06ca
children 4648ed43d78e
files CMakeLists.txt config.h.cmake conversion/nifti1/znzlib.c conversion/vff2mnc/vff2mnc.c libsrc/netcdf_convenience.c volume_io/Prog_utils/files.c
diffstat 6 files changed, 93 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -126,12 +126,51 @@
 INCLUDE(CheckFunctionExists)
 
 CHECK_FUNCTION_EXISTS(mkstemp  HAVE_MKSTEMP)
+CHECK_FUNCTION_EXISTS(tmpnam   HAVE_TMPNAM)
+CHECK_FUNCTION_EXISTS(tempnam  HAVE_TEMPNAM)
 CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR)
+CHECK_FUNCTION_EXISTS(popen    HAVE_POPEN)
+CHECK_FUNCTION_EXISTS(fork     HAVE_WORKING_FORK)
+CHECK_FUNCTION_EXISTS(vfork    HAVE_WORKING_VFORK)
+CHECK_FUNCTION_EXISTS(fdopen   HAVE_FDOPEN)
+CHECK_FUNCTION_EXISTS(strdup   HAVE_STRDUP)
+CHECK_FUNCTION_EXISTS(getpwnam HAVE_GETPWNAM) 
+CHECK_FUNCTION_EXISTS(select   HAVE_SELECT)
+CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR) 
+CHECK_FUNCTION_EXISTS(sysconf  HAVE_SYSCONF)
+CHECK_FUNCTION_EXISTS(system   HAVE_SYSTEM)
 
 INCLUDE(CheckIncludeFiles)
-CHECK_INCLUDE_FILES(float.h HAVE_FLOAT_H)
+CHECK_INCLUDE_FILES(float.h     HAVE_FLOAT_H)
+CHECK_INCLUDE_FILES(sys/dir.h   HAVE_SYS_DIR_H)
+CHECK_INCLUDE_FILES(sys/ndir.h  HAVE_SYS_NDIR_H)
+CHECK_INCLUDE_FILES(sys/stat.h  HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILES(sys/wait.h  HAVE_SYS_WAIT_H)
+CHECK_INCLUDE_FILES(values.h    HAVE_VALUES_H)
+CHECK_INCLUDE_FILES(unistd.h    HAVE_UNISTD_H)
+CHECK_INCLUDE_FILES(dirent.h    HAVE_DIRENT_H)
+CHECK_INCLUDE_FILES(memory.h    HAVE_MEMORY_H)
+CHECK_INCLUDE_FILES(stdlib.h    HAVE_STDLIB_H)
+CHECK_INCLUDE_FILES(fcntl.h     HAVE_FCNTL_H)
+CHECK_INCLUDE_FILES(dlfcn.h     HAVE_DLFCN_H)
+CHECK_INCLUDE_FILES(vfork.h     HAVE_VFORK_H)
+CHECK_INCLUDE_FILES(inttypes.h  HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILES(string.h    HAVE_STRING_H)
+CHECK_INCLUDE_FILES(strings.h   HAVE_STRINGS_H)
+CHECK_INCLUDE_FILES(pwd.h   HAVE_PWD_H)
 
 
+
+IF(ZLIB_FOUND)
+  SET(HAVE_ZLIB 1)
+ELSE(ZLIB_FOUND)
+  FIND_PACKAGE(ZLIB)
+  IF(ZLIB_FOUND)
+    SET(HAVE_ZLIB 1)
+  ENDIF(ZLIB_FOUND)
+ENDIF(ZLIB_FOUND)
+
 IF(BUILD_EZMINC)
   set(MINC2_INCLUDE_DIRS_CONFIG    
     ${CMAKE_SOURCE_DIR}/ezminc
@@ -161,7 +200,7 @@
 ENDIF(BUILD_MINC2)
 
 # config files for build
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h @ONLY)
 
 # others
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/epm-header.in ${CMAKE_BINARY_DIR}/epm-header)
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -5,10 +5,45 @@
 #define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
 #define PACKAGE_VERSION "@PACKAGE_VERSION@"
 #define PACKAGE_STRING "@PACKAGE_STRING@"
-
 #define VERSION PACKAGE_VERSION
 
-#define HAVE_MKSTEMP @HAVE_MKSTEMP@
-#define HAVE_STRERROR @HAVE_STRERROR@
+#cmakedefine01 HAVE_MKSTEMP 
+#cmakedefine01 HAVE_STRERROR 
+#cmakedefine01 HAVE_FLOAT_H 
 
-#define HAVE_FLOAT_H @HAVE_FLOAT_H@
+#cmakedefine01 HAVE_DIRENT_H 
+#cmakedefine01 HAVE_DLFCN_H 
+#cmakedefine01 HAVE_FCNTL_H 
+#cmakedefine01 HAVE_FORK 
+#cmakedefine01 HAVE_GETPWNAM 
+#cmakedefine01 HAVE_INT16_T 
+#cmakedefine01 HAVE_INT32_T 
+#cmakedefine01 HAVE_INTTYPES_H 
+#cmakedefine01 HAVE_MEMORY_H 
+#cmakedefine01 HAVE_MKSTEMP 
+#cmakedefine01 HAVE_NDIR_H 
+#cmakedefine01 HAVE_POPEN 
+#cmakedefine01 HAVE_PWD_H 
+#cmakedefine01 HAVE_SELECT 
+#cmakedefine01 HAVE_STDINT_H 
+#cmakedefine01 HAVE_STDLIB_H 
+#cmakedefine01 HAVE_STRDUP 
+#cmakedefine01 HAVE_SYSCONF 
+#cmakedefine01 HAVE_SYSTEM 
+#cmakedefine01 HAVE_SYS_DIR_H 
+#cmakedefine01 HAVE_SYS_NDIR_H 
+#cmakedefine01 HAVE_SYS_STAT_H 
+#cmakedefine01 HAVE_SYS_TIME_H 
+#cmakedefine01 HAVE_SYS_TYPES_H 
+#cmakedefine01 HAVE_SYS_WAIT_H 
+#cmakedefine01 HAVE_TEMPNAM 
+#cmakedefine01 HAVE_TMPNAM 
+#cmakedefine01 HAVE_UNISTD_H 
+#cmakedefine01 HAVE_VALUES_H 
+#cmakedefine01 HAVE_VFORK 
+#cmakedefine01 HAVE_VFORK_H 
+#cmakedefine01 HAVE_WORKING_FORK 
+#cmakedefine01 HAVE_WORKING_VFORK 
+#cmakedefine01 HAVE_ZLIB 
+#cmakedefine01 HAVE_STRINGS_H 
+#cmakedefine01 HAVE_STRING_H 
--- a/conversion/nifti1/znzlib.c
+++ b/conversion/nifti1/znzlib.c
@@ -244,6 +244,7 @@
 #if !defined (WIN32)
 int znzprintf(znzFile stream, const char *format, ...)
 {
+  char *tmpstr;
   int retval=0;
   va_list va;
   if (stream==NULL) { return 0; }
--- a/conversion/vff2mnc/vff2mnc.c
+++ b/conversion/vff2mnc/vff2mnc.c
@@ -125,8 +125,8 @@
 #if HAVE_DIRENT_H
       
       if (stat(G.dirname, &st) != 0 || !S_ISDIR(st.st_mode)) {
-	print("Option -addattrs requires directory as argument!!!\n");
-	exit(EXIT_FAILURE);
+        fprintf(stderr,"Option -addattrs requires directory as argument!!!\n");
+        exit(EXIT_FAILURE);
       }
 #endif 
     }
--- a/libsrc/netcdf_convenience.c
+++ b/libsrc/netcdf_convenience.c
@@ -249,7 +249,8 @@
 
 
 #if !(HAVE_WORKING_FORK && HAVE_SYSTEM && HAVE_POPEN)
-
+   fprintf(stderr,"Can't decompress %s because system is not available!\n",infile);
+   
    return 1;
 
 #else      /* Unix */
@@ -1940,5 +1941,4 @@
         }
     }
     return (strdup(buffer));
-}
-
+}
\ No newline at end of file
--- a/volume_io/Prog_utils/files.c
+++ b/volume_io/Prog_utils/files.c
@@ -13,6 +13,10 @@
 ---------------------------------------------------------------------------- */
 
 #include  <internal_volume_io.h>
+
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
 #if HAVE_PWD_H
 #include  <pwd.h>
 #endif /* HAVE_PWD_H */
@@ -20,6 +24,7 @@
 #if HAVE_UNISTD_H
 #include  <unistd.h>
 #endif /* HAVE_UNISTD_H */
+
 #include  <errno.h>
 
 
@@ -533,8 +538,8 @@
 static  STRING  get_user_home_directory(
     STRING   user_name )
 {
-#if HAVE_GETPWNAM
-    struct   passwd  *p;
+#if HAVE_GETPWNAM 
+    struct passwd  *p;
 
     p = getpwnam( user_name );