X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=CMakeLists.txt;h=77abbe527af3bc3d4c3ee9a8e0cc06b35ceaa7db;hb=c0e24af608bc7e2c259a398544e590ecb06b6655;hp=b2068225d936022ed3171aa89fbf929664440015;hpb=523e6f6769838c76ec16f95b017a989e8b35c23f;p=apitrace diff --git a/CMakeLists.txt b/CMakeLists.txt index b206822..77abbe5 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,8 @@ set (ENABLE_GUI "AUTO" CACHE STRING "Enable Qt GUI.") ############################################################################## # Find dependencies +include (FindPkgConfig) + set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) set (CMAKE_USE_PYTHON_VERSION 2.7 2.6) @@ -46,6 +48,12 @@ else () set (X11_GL_LIB ${OPENGL_gl_LIBRARY}) include_directories (${X11_INCLUDE_DIR}) + + pkg_check_modules (EGL egl) + if (EGL_FOUND) + include_directories (${EGL_INCLUDE_DIR}) + add_definitions (-DHAVE_EGL) + endif () endif () @@ -230,7 +238,7 @@ include_directories ( add_custom_command ( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glproc.py > ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp - DEPENDS glproc.py dispatch.py specs/wglapi.py specs/glxapi.py specs/cglapi.py specs/glapi.py specs/gltypes.py specs/stdapi.py + DEPENDS glproc.py dispatch.py specs/wglapi.py specs/glxapi.py specs/cglapi.py specs/eglapi.py specs/glapi.py specs/gltypes.py specs/stdapi.py ) if (WIN32) @@ -424,6 +432,42 @@ else () endif () +if (EGL_FOUND) + # libEGL.so/libGL.so + add_custom_command ( + OUTPUT egltrace.cpp + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/egltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/egltrace.cpp + DEPENDS egltrace.py gltrace.py trace.py specs/eglapi.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/stdapi.py + ) + + add_library (egltrace SHARED + ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp + egltrace.cpp + glcaps.cpp + glsnapshot.cpp + ) + + set_property ( + TARGET egltrace + APPEND + PROPERTY COMPILE_DEFINITIONS "TRACE_EGL" + ) + + set_target_properties (egltrace PROPERTIES + # avoid the default "lib" prefix + PREFIX "" + LINK_FLAGS "-Wl,-Bsymbolic -Wl,-Bsymbolic-functions" + # Prevent symbol relocations internal to our wrapper library to be + # overwritten by the application. + RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers + LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers + ) + + target_link_libraries (egltrace dl) + + install (TARGETS egltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) +endif () + ############################################################################## # API retracers @@ -449,6 +493,7 @@ add_executable (glretrace glretrace_cgl.cpp glretrace_glx.cpp glretrace_wgl.cpp + glretrace_egl.cpp glretrace_main.cpp glstate.cpp glstate_params.cpp