find_package (QJSON ${REQUIRE_GUI})
endif ()
+include_directories (${OPENGL_INCLUDE_DIR})
+
if (WIN32)
find_package (DirectX)
elseif (APPLE)
else ()
find_package (X11 REQUIRED)
- set (X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
- set (X11_GL_LIB ${OPENGL_gl_LIBRARY})
-
include_directories (${X11_INCLUDE_DIR})
if (ENABLE_EGL)
add_library (wgltrace MODULE specs/opengl32.def
wgltrace.cpp
glcaps.cpp
+ glproc_gl.cpp
${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
)
set_target_properties (wgltrace PROPERTIES
add_library (cgltrace SHARED
cgltrace.cpp
glcaps.cpp
+ glproc_gl.cpp
${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
)
${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
glxtrace.cpp
glcaps.cpp
+ glproc_gl.cpp
)
set_target_properties (glxtrace PROPERTIES
${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
egltrace.cpp
glcaps.cpp
+ glproc_egl.cpp
)
set_property (
add_executable (glretrace
${retrace_sources}
${glws_os}
+ glproc_gl.cpp
)
set_property (
)
if (WIN32)
- target_link_libraries (glretrace ${OPENGL_gl_LIBRARY})
-elseif (APPLE)
- target_link_libraries (glretrace
- "-framework Cocoa"
- "-framework ApplicationServices" # CGS*
- ${OPENGL_gl_LIBRARY} # CGL*
- )
else ()
- target_link_libraries (glretrace ${OPENGL_gl_LIBRARY} ${X11_X11_LIB})
+ if (APPLE)
+ target_link_libraries (glretrace
+ "-framework Cocoa"
+ "-framework ApplicationServices" # CGS*
+ ${OPENGL_gl_LIBRARY} # CGL*
+ )
+ else ()
+ target_link_libraries (glretrace ${X11_X11_LIB})
+ endif ()
+
+ # 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
+ target_link_libraries (glretrace pthread)
endif ()
install (TARGETS glretrace RUNTIME DESTINATION bin)
add_executable (eglretrace
${retrace_sources}
glws_egl_xlib.cpp
+ glproc_egl.cpp
)
set_property (
target_link_libraries (eglretrace
common
- )
-
- target_link_libraries (eglretrace
- ${EGL_LIBRARIES}
- ${OPENGL_gl_LIBRARY}
${X11_X11_LIB}
+ pthread
)
install (TARGETS eglretrace RUNTIME DESTINATION bin)