some fixes for netbsd with cmake
authorCampbell Barton <ideasman42@gmail.com>
Fri, 14 Aug 2009 13:13:36 +0000 (13:13 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 14 Aug 2009 13:13:36 +0000 (13:13 +0000)
- CMake, use FIND_PACKAGE(Freetype) for unix/linux
- Only link with libdl.so on linux
- use statvfs rather then statfs for netbsd (size of statfs wasnt available)
- add x11 include path with ghost, glu.

CMakeLists.txt
extern/glew/CMakeLists.txt
intern/ghost/CMakeLists.txt
intern/guardedalloc/BLO_sys_types.h
intern/opennl/superlu/BLO_sys_types.h
source/blender/blenlib/intern/storage.c
source/blender/blenloader/BLO_sys_types.h
source/blender/python/intern/bpy_interface.c
source/blender/windowmanager/CMakeLists.txt

index aa1e26606ba1d4a0c03da3896b8026f752652419..bb2d336c747a356cfa99b7ce4cad25b0e2b23469 100644 (file)
@@ -114,19 +114,10 @@ IF(UNIX AND NOT APPLE)
   IF(INTL_LIBRARY AND ICONV_LIBRARY)
     SET(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
   ENDIF(INTL_LIBRARY AND ICONV_LIBRARY)
-  
-  FIND_PATH(FREETYPE_INC
-    freetype
-    PATHS
-    /usr/local/include/freetype2
-    /usr/include/freetype2
-    /sw/include/freetype2
-    /opt/local/include/freetype2
-    /opt/csw/include/freetype2
-    /opt/include/freetype2
-    NO_DEFAULT_PATH
-  )
-  SET(FREETYPE_LIB freetype)
+
+  FIND_PACKAGE(Freetype)
+  SET(FREETYPE_INC "${FREETYPE_INCLUDE_DIR_freetype2}" CACHE STRING "")
+  SET(FREETYPE_LIB "${FREETYPE_LIBRARY}" CACHE STRING "")
 
   FIND_PACKAGE(PythonLibs)
   SET(PYTHON_INC "${PYTHON_INCLUDE_PATH}" CACHE STRING "")
@@ -159,10 +150,10 @@ IF(UNIX AND NOT APPLE)
   SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
   
   IF(WITH_FFTW3)
-         SET(FFTW3 /usr)
-         SET(FFTW3_INC ${FFTW3}/include)
-         SET(FFTW3_LIB fftw3)
-         SET(FFTW3_LIBPATH ${FFTW3}/lib)
+    SET(FFTW3 /usr)
+    SET(FFTW3_INC ${FFTW3}/include)
+    SET(FFTW3_LIB fftw3)
+    SET(FFTW3_LIBPATH ${FFTW3}/lib)
   ENDIF(WITH_FFTW3)
 
   SET(LIBSAMPLERATE /usr)
@@ -176,7 +167,13 @@ IF(UNIX AND NOT APPLE)
 
   FIND_PACKAGE(ZLIB REQUIRED)
 
-  SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl")
+  # Could use ${X11_Xinput_LIB} ${X11_X11_LIB} too
+  SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11")
+
+  IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+    # BSD's dont use libdl.so
+    SET(LLIBS "${LLIBS} -ldl")
+  ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 
   IF(WITH_OPENMP)
     SET(LLIBS "${LLIBS} -lgomp")
index 53ef014927c3fef17e8b29d5c337aeb5d0e8aa86..eea34488e17f4017d24dc3d1c3fd0259279e893f 100644 (file)
 
 SET(INC include src)
 
+IF(UNIX)
+  SET(INC ${INC} ${X11_X11_INCLUDE_PATH})
+ENDIF(UNIX)
+
 SET(SRC
   src/glew.c
 )
 
 BLENDERLIB(extern_glew "${SRC}" "${INC}")
+
index b559d49958c0361ca896cfd991d81cebf0c2bac9..3d588ecfd000f5ef6a4e17a223b9d17f37ac2fc8 100644 (file)
@@ -24,7 +24,7 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
-SET(INC . ../string ${WINTAB_INC})
+SET(INC . ../string)
 
 FILE(GLOB SRC intern/*.cpp)
 
@@ -37,6 +37,7 @@ IF(APPLE)
   LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowX11.cpp")
 ELSE(APPLE)
   IF(WIN32)
+    SET(INC ${INC} ${WINTAB_INC})
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_DisplayManagerCarbon.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_SystemCarbon.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowCarbon.cpp")
@@ -44,6 +45,7 @@ ELSE(APPLE)
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_SystemX11.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowX11.cpp")
   ELSE(WIN32)
+    SET(INC ${INC} ${X11_X11_INCLUDE_PATH})
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_DisplayManagerWin32.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_SystemWin32.cpp")
     LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_WindowWin32.cpp")
index 5ed3117c8906103134f4b1b3d411a20c5124bfdd..e3c64f9746a59cfc165aae510acb0bf46ff42d00 100644 (file)
@@ -82,7 +82,7 @@ typedef unsigned long uintptr_t;
 #define _UINTPTR_T_DEFINED
 #endif
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
 
        /* Linux-i386, Linux-Alpha, Linux-ppc */
 #include <stdint.h>
index 411a8582f9617a5feb9be9bcff2232e3b02622c6..56a27ec17cef29ccf8e3bcec558bd0a440797002 100644 (file)
@@ -83,7 +83,7 @@ typedef unsigned long uintptr_t;
 #define _UINTPTR_T_DEFINED
 #endif
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
 
        /* Linux-i386, Linux-Alpha, Linux-ppc */
 #include <stdint.h>
index 0a416e624cb1c031a4a264968c3331911f26ea99..e6e37c588052a186e373cc69e22725b65bd412c9 100644 (file)
 #include <time.h>
 #include <sys/stat.h>
 
-#if defined (__sun__) || defined (__sun) || defined (__sgi)
+#if defined (__sun__) || defined (__sun) || defined (__sgi) || defined (__NetBSD__)
 #include <sys/statvfs.h> /* Other modern unix os's should probably use this also */
 #elif !defined(__FreeBSD__) && !defined(linux) && (defined(__sparc) || defined(__sparc__))
 #include <sys/statfs.h>
 #endif
 
-#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__)
+#if defined (__FreeBSD__) || defined (__OpenBSD__)
 #include <sys/param.h>
 #include <sys/mount.h>
 #endif
@@ -173,7 +173,7 @@ double BLI_diskfree(char *dir)
        return (double) (freec*bytesps*sectorspc);
 #else
 
-#if defined (__sun__) || defined (__sun) || defined (__sgi)
+#if defined (__sun__) || defined (__sun) || defined (__sgi) || defined (__NetBSD__)
        struct statvfs disk;
 #else
        struct statfs disk;
@@ -195,7 +195,7 @@ double BLI_diskfree(char *dir)
        if (statfs(name, &disk)) return(-1);
 #endif
 
-#if defined (__sun__) || defined (__sun) || defined (__sgi)
+#if defined (__sun__) || defined (__sun) || defined (__sgi) || defined (__NetBSD__)
        if (statvfs(name, &disk)) return(-1);   
 #elif !defined(__FreeBSD__) && !defined(linux) && (defined(__sparc) || defined(__sparc__))
        /* WARNING - This may not be supported by geeneric unix os's - Campbell */
index 49155260b31e23cf7826a354f5de38ce4536371b..4032f778f4b4c48acfeb9a1da109740669d1498e 100644 (file)
@@ -78,7 +78,7 @@ typedef unsigned long uintptr_t;
 #define _UINTPTR_T_DEFINED
 #endif
 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__NetBSD__)
 
        /* Linux-i386, Linux-Alpha, Linux-ppc */
 #include <stdint.h>
index ca5f933de803084036a1d8abc3fdd5b435a11d18..1af656e560fdca17ce6068daf421e595a3183191 100644 (file)
@@ -270,7 +270,7 @@ void BPY_start_python( int argc, char **argv )
 
 void BPY_end_python( void )
 {
-       fprintf(stderr, "Ending Python!\n");
+       // fprintf(stderr, "Ending Python!\n");
 
        PyGILState_Ensure(); /* finalizing, no need to grab the state */
        
@@ -296,7 +296,7 @@ void BPY_end_python( void )
 
        printf("\n");
 
-       fprintf(stderr, "Ending Python Done!\n");
+       // fprintf(stderr, "Ending Python Done!\n");
 
 #endif
 
index 69ebedbc684afeaf0027b245b0f0f2d630ef00f8..4358eea6f1b80a69b17c57e24cb0bdd090664ba4 100644 (file)
@@ -40,6 +40,7 @@ SET(INC .
   ../gpu
   ../blenfont
   ${SDL_INC}
+  ${OPENGL_INCLUDE_DIR}
 )
 
 IF(WITH_INTERNATIONAL)