]> git.cworth.org Git - apitrace/commitdiff
Make X11 dependency optional on Linux
authorArnaud Vrac <rawoul@gmail.com>
Mon, 19 Dec 2011 01:44:24 +0000 (02:44 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 20 Dec 2011 14:57:36 +0000 (14:57 +0000)
When X11 is not available retracer is not built

CMakeLists.txt
glimports.hpp

index 177c82b8a83b7abd24ddd4bc3ae2d62ef933bf64..b8b4ae2e40c6334572734a3f73a167fe80160351 100755 (executable)
@@ -46,9 +46,12 @@ if (WIN32)
     find_package (DirectX)
 elseif (APPLE)
 else ()
-    find_package (X11 REQUIRED)
+    find_package (X11)
 
-    include_directories (${X11_INCLUDE_DIR})
+    if (X11_FOUND)
+        include_directories (${X11_INCLUDE_DIR})
+        add_definitions (-DHAVE_X11)
+    endif ()
 
     if (ENABLE_EGL)
         if (NOT ENABLE_EGL STREQUAL "AUTO")
@@ -423,7 +426,7 @@ elseif (APPLE)
     target_link_libraries (cgltrace dl)
 
     install (TARGETS cgltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
-else ()
+elseif (X11_FOUND)
     # libGL.so
     add_custom_command (
         OUTPUT glxtrace.cpp
@@ -521,48 +524,50 @@ set (retrace_sources
     glws.cpp
 )
 
-add_executable (glretrace
-    ${retrace_sources}
-    ${glws_os}
-    glproc_gl.cpp
-)
+if (WIN32 OR APPLE OR X11_FOUND)
+    add_executable (glretrace
+        ${retrace_sources}
+        ${glws_os}
+        glproc_gl.cpp
+    )
 
-add_dependencies (glretrace glproc)
+    add_dependencies (glretrace glproc)
 
-set_property (
-    TARGET glretrace
-    APPEND
-    PROPERTY COMPILE_DEFINITIONS "RETRACE"
-)
+    set_property (
+        TARGET glretrace
+        APPEND
+        PROPERTY COMPILE_DEFINITIONS "RETRACE"
+    )
 
-target_link_libraries (glretrace
-    common
-)
+    target_link_libraries (glretrace
+        common
+    )
+
+    if (WIN32)
+    else ()
+        if (APPLE)
+            target_link_libraries (glretrace
+                "-framework Cocoa"
+                "-framework ApplicationServices" # CGS*
+                ${OPENGL_gl_LIBRARY} # CGL*
+            )
+        else ()
+            target_link_libraries (glretrace ${X11_X11_LIB})
+        endif ()
 
-if (WIN32)
-else ()
-    if (APPLE)
         target_link_libraries (glretrace
-            "-framework Cocoa"
-            "-framework ApplicationServices" # CGS*
-            ${OPENGL_gl_LIBRARY} # CGL*
+            # gdb doesn't like when pthreads is loaded through dlopen (which happens
+            # when dlopen'ing libGL), so link pthreads to avoid this issue.  See also
+            # http://stackoverflow.com/questions/2702628/gdb-cannot-find-new-threads-generic-error
+            pthread
+            dl
         )
-    else ()
-        target_link_libraries (glretrace ${X11_X11_LIB})
     endif ()
 
-    target_link_libraries (glretrace
-        # gdb doesn't like when pthreads is loaded through dlopen (which happens
-        # when dlopen'ing libGL), so link pthreads to avoid this issue.  See also
-        # http://stackoverflow.com/questions/2702628/gdb-cannot-find-new-threads-generic-error
-        pthread
-        dl
-    )
+    install (TARGETS glretrace RUNTIME DESTINATION bin) 
 endif ()
 
-install (TARGETS glretrace RUNTIME DESTINATION bin) 
-
-if (EGL_FOUND AND NOT WIN32 AND NOT APPLE)
+if (EGL_FOUND AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
     add_executable (eglretrace
         ${retrace_sources}
         glws_egl_xlib.cpp
index 65b0aca1f2977e9ca534830d8eac982918080dec..7207523fdfa65c3018301a3598ab50b5d714931b 100644 (file)
 
 #else
 
+#ifdef HAVE_X11
 #include <X11/Xlib.h>
+#endif
+
 #include <GL/gl.h>
 
 #endif /* !_WIN32 */
@@ -134,8 +137,10 @@ CGLError CGLUpdateContext(CGLContextObj ctx);
 
 #else
 
+#ifdef HAVE_X11
 #include <GL/glx.h>
 #include "glext/glxext.h"
+#endif
 
 /* Prevent collision with trace::Bool */
 #undef Bool