[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