[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35770] trunk/blender: add cmake option to build without xinput (tablet support)
Campbell Barton
ideasman42 at gmail.com
Fri Mar 25 05:56:48 CET 2011
Revision: 35770
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35770
Author: campbellbarton
Date: 2011-03-25 04:56:48 +0000 (Fri, 25 Mar 2011)
Log Message:
-----------
add cmake option to build without xinput (tablet support)
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/intern/ghost/CMakeLists.txt
trunk/blender/intern/ghost/SConscript
trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2011-03-25 04:42:49 UTC (rev 35769)
+++ trunk/blender/CMakeLists.txt 2011-03-25 04:56:48 UTC (rev 35770)
@@ -84,6 +84,10 @@
option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" OFF)
endif()
+if(UNIX AND NOT APPLE)
+ option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support)" ON)
+endif()
+
# Modifiers
option(WITH_MOD_FLUID "Enable Elbeem Modifier (Fluid Simulation)" ON)
option(WITH_MOD_DECIMATE "Enable Decimate Modifier" ON)
@@ -384,8 +388,12 @@
mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
- set(LLIBS "-lutil -lc -lm -lpthread -lstdc++ ${X11_X11_LIB} ${X11_Xinput_LIB}")
+ set(LLIBS "-lutil -lc -lm -lpthread -lstdc++ ${X11_X11_LIB}")
+ if(WITH_X11_XINPUT)
+ list(APPEND LLIBS ${X11_Xinput_LIB})
+ endif()
+
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if(NOT WITH_PYTHON_MODULE)
# BSD's dont use libdl.so
Modified: trunk/blender/intern/ghost/CMakeLists.txt
===================================================================
--- trunk/blender/intern/ghost/CMakeLists.txt 2011-03-25 04:42:49 UTC (rev 35769)
+++ trunk/blender/intern/ghost/CMakeLists.txt 2011-03-25 04:56:48 UTC (rev 35770)
@@ -118,6 +118,11 @@
endif()
elseif(UNIX)
+
+ if(WITH_X11_XINPUT)
+ add_definitions(-DWITH_X11_XINPUT)
+ endif()
+
list(APPEND INC ${X11_X11_INCLUDE_PATH})
list(APPEND SRC
Modified: trunk/blender/intern/ghost/SConscript
===================================================================
--- trunk/blender/intern/ghost/SConscript 2011-03-25 04:42:49 UTC (rev 35769)
+++ trunk/blender/intern/ghost/SConscript 2011-03-25 04:56:48 UTC (rev 35770)
@@ -21,7 +21,8 @@
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
except ValueError:
pass
- defs += ['PREFIX=\\"/usr/local/\\"']
+ defs += ['PREFIX=\\"/usr/local/\\"'] # XXX, make an option
+ defs += ['WITH_X11_XINPUT'] # XXX, make an option
elif window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'):
for f in pf:
Modified: trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp 2011-03-25 04:42:49 UTC (rev 35769)
+++ trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp 2011-03-25 04:56:48 UTC (rev 35770)
@@ -439,7 +439,9 @@
setTitle(title);
+#ifdef WITH_X11_XINPUT
initXInputDevices();
+#endif
// now set up the rendering context.
if (installDrawingContext(type) == GHOST_kSuccess) {
@@ -493,6 +495,8 @@
return FALSE;
}
+#ifdef WITH_X11_XINPUT
+
/* Determining if an X device is a Tablet style device is an imperfect science.
** We rely on common conventions around device names as well as the type reported
** by Wacom tablets. This code will likely need to be expanded for alternate tablet types
@@ -652,8 +656,9 @@
}
XFree(version);
}
-}
+}
+#endif /* WITH_X11_XINPUT */
Window
GHOST_WindowX11::
@@ -1275,14 +1280,16 @@
if (m_custom_cursor) {
XFreeCursor(m_display, m_custom_cursor);
}
-
+
+#ifdef WITH_X11_XINPUT
/* close tablet devices */
if(m_xtablet.StylusDevice)
XCloseDevice(m_display, m_xtablet.StylusDevice);
if(m_xtablet.EraserDevice)
XCloseDevice(m_display, m_xtablet.EraserDevice);
-
+#endif /* WITH_X11_XINPUT */
+
if (m_context != s_firstContext) {
glXDestroyContext(m_display, m_context);
}
More information about the Bf-blender-cvs
mailing list