first attempt at CMake fix (untested)
authorMike Erwin <significant.bit@gmail.com>
Mon, 27 Jun 2011 23:24:24 +0000 (23:24 +0000)
committerMike Erwin <significant.bit@gmail.com>
Mon, 27 Jun 2011 23:24:24 +0000 (23:24 +0000)
CMakeLists.txt
intern/ghost/CMakeLists.txt

index 4f99136..935918a 100644 (file)
@@ -155,6 +155,7 @@ option(WITH_LZO           "Enable fast LZO compression (used for pointcache)" ON
 option(WITH_LZMA          "Enable best LZMA compression, (used for pointcache)" ON)
 
 # Misc
+option(WITH_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
 option(WITH_RAYOPTIMIZATION    "Enable use of SIMD (SSE) optimizations for the raytracer" ON) 
 if(UNIX AND NOT APPLE)
        option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
@@ -418,6 +419,15 @@ if(UNIX AND NOT APPLE)
                unset(JEMALLOC)
        endif()
 
+       if (WITH_NDOF)
+               if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+                       set(NDOF /usr)
+                       set(NDOF_INC ${NDOF}/include)
+                       set(NDOF_LIB spnav)
+                       set(NDOF_LIBPATH ${FFTW3}/lib)
+               endif()
+       endif()
+
        # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
        set(LLIBS "-lutil -lc -lm -lpthread -lstdc++")
 
@@ -960,6 +970,11 @@ elseif(APPLE)
                set(TIFF_LIBPATH ${TIFF}/lib)
        endif()
 
+       if (WITH_NDOF)
+               # GHOST_NDOFManagerCocoa.mm needs "-fpascal-strings"
+               # linker needs "-weak_framework 3DconnexionClient"
+       endif()
+
        set(EXETYPE MACOSX_BUNDLE)
 
        set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g")
index 922f691..24553a3 100644 (file)
@@ -131,11 +131,13 @@ elseif(APPLE)
                        intern/GHOST_SystemCocoa.mm
                        intern/GHOST_SystemPathsCocoa.mm
                        intern/GHOST_WindowCocoa.mm
-                       
+                       intern/GHOST_NDOFManagerCocoa.mm
+
                        intern/GHOST_DisplayManagerCocoa.h
                        intern/GHOST_SystemCocoa.h
                        intern/GHOST_SystemPathsCocoa.h
                        intern/GHOST_WindowCocoa.h
+                       intern/GHOST_NDOFManagerCocoa.h
                )
        else()
                list(APPEND SRC
@@ -168,11 +170,13 @@ elseif(UNIX)
                intern/GHOST_SystemX11.cpp
                intern/GHOST_SystemPathsX11.cpp
                intern/GHOST_WindowX11.cpp
+               intern/GHOST_NDOFManagerX11.cpp
 
                intern/GHOST_DisplayManagerX11.h
                intern/GHOST_SystemX11.h
                intern/GHOST_SystemPathsX11.h
                intern/GHOST_WindowX11.h
+               intern/GHOST_NDOFManagerX11.h
        )
 
        if(NOT WITH_INSTALL_PORTABLE)
@@ -197,6 +201,7 @@ elseif(WIN32)
                intern/GHOST_SystemPathsWin32.cpp
                intern/GHOST_WindowWin32.cpp
                intern/GHOST_DropTargetWin32.cpp
+               intern/GHOST_NDOFManagerWin32.cpp
 
                intern/GHOST_DisplayManagerWin32.h
                intern/GHOST_DropTargetWin32.h
@@ -204,6 +209,7 @@ elseif(WIN32)
                intern/GHOST_SystemPathsWin32.h
                intern/GHOST_WindowWin32.h
                intern/GHOST_TaskbarWin32.h
+               intern/GHOST_NDOFManagerWin32.h
        )
 endif()