]> git.cworth.org Git - apitrace/blobdiff - CMakeLists.txt
Move dispatch to its own subdirectory.
[apitrace] / CMakeLists.txt
index 855d73fc1aa19fa923b48da87d01b72dc6c0d980..f817701e1f8e8ef6798ac41487e8e11124d0ea01 100644 (file)
@@ -237,17 +237,6 @@ include_directories (
     ${CMAKE_CURRENT_SOURCE_DIR}/common
 )
 
-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/eglapi.py specs/glesapi.py specs/glapi.py specs/gltypes.py specs/stdapi.py
-)
-
-# Wrap glproc.hpp as a target to prevent the command from being executed
-# multiple times simulatenously, when the targets that depend on it are built
-# in parallel.
-add_custom_target (glproc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp)
-
 if (WIN32)
     set (os os_win32.cpp)
     set (glws_os glws_wgl.cpp)
@@ -296,155 +285,13 @@ endif ()
 
 
 ##############################################################################
-# API tracers
+# Sub-directories
 
+add_subdirectory (dispatch)
 add_subdirectory (wrappers)
+add_subdirectory (retrace)
 
 
-##############################################################################
-# API retracers
-
-add_custom_command (
-    OUTPUT glretrace_gl.cpp
-    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glretrace_gl.cpp
-    DEPENDS glretrace.py retrace.py specs/glapi.py specs/gltypes.py specs/stdapi.py
-)
-
-add_custom_command (
-    OUTPUT glstate_params.cpp
-    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glstate_params.py > ${CMAKE_CURRENT_BINARY_DIR}/glstate_params.cpp
-    DEPENDS glstate_params.py specs/glparams.py specs/gltypes.py specs/stdapi.py
-)
-
-add_library (retrace_common
-    glretrace_gl.cpp
-    glretrace_cgl.cpp
-    glretrace_glx.cpp
-    glretrace_wgl.cpp
-    glretrace_egl.cpp
-    glretrace_main.cpp
-    glstate.cpp
-    glstate_images.cpp
-    glstate_params.cpp
-    glstate_shaders.cpp
-    retrace.cpp
-    retrace_stdc.cpp
-    glws.cpp
-)
-
-add_dependencies (retrace_common glproc)
-
-set_property (
-    TARGET retrace_common
-    APPEND
-    PROPERTY COMPILE_DEFINITIONS "RETRACE"
-)
-
-if (WIN32 OR APPLE OR X11_FOUND)
-    add_executable (glretrace
-        ${glws_os}
-        glproc_gl.cpp
-    )
-
-    add_dependencies (glretrace glproc)
-
-    set_property (
-        TARGET glretrace
-        APPEND
-        PROPERTY COMPILE_DEFINITIONS "RETRACE"
-    )
-
-    target_link_libraries (glretrace
-        retrace_common
-        common
-        ${PNG_LIBRARIES}
-        ${ZLIB_LIBRARIES}
-        ${SNAPPY_LIBRARIES}
-    )
-
-    if (WIN32)
-    else ()
-        if (APPLE)
-            target_link_libraries (glretrace
-                "-framework Cocoa"
-                "-framework ApplicationServices" # CGS*
-                #"-framework OpenGL" # CGL*
-            )
-        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
-            ${CMAKE_THREAD_LIBS_INIT}
-            dl
-        )
-
-        if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-            target_link_libraries (glretrace rt)
-        endif ()
-
-    endif ()
-
-    install (TARGETS glretrace RUNTIME DESTINATION bin) 
-endif ()
-
-if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
-    add_executable (eglretrace
-        glws_egl_xlib.cpp
-        glproc_egl.cpp
-    )
-
-    add_dependencies (eglretrace glproc)
-
-    set_property (
-        TARGET eglretrace
-        APPEND
-        PROPERTY COMPILE_DEFINITIONS "RETRACE"
-    )
-
-    target_link_libraries (eglretrace
-        retrace_common
-        common
-        ${PNG_LIBRARIES}
-        ${ZLIB_LIBRARIES}
-        ${SNAPPY_LIBRARIES}
-        ${X11_X11_LIB}
-        ${CMAKE_THREAD_LIBS_INIT}
-        dl
-    )
-
-    if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-        target_link_libraries (eglretrace rt)
-    endif ()
-
-    install (TARGETS eglretrace RUNTIME DESTINATION bin) 
-endif ()
-
-if (WIN32 AND DirectX_D3DX9_FOUND)
-    add_custom_command (
-        OUTPUT d3dretrace_d3d9.cpp
-        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3dretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
-        DEPENDS d3dretrace.py retrace.py specs/d3d9.py specs/d3d9types.py specs/d3d9caps.py specs/winapi.py specs/stdapi.py
-    )
-
-    include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR})
-    add_executable (d3dretrace
-        retrace.cpp
-        retrace_stdc.cpp
-        d3dretrace_main.cpp
-        d3dretrace_d3d9.cpp
-    )
-    target_link_libraries (d3dretrace
-        common
-        ${ZLIB_LIBRARIES}
-        ${SNAPPY_LIBRARIES}
-        ${DirectX_D3D9_LIBRARY}
-    )
-endif ()
-
 ##############################################################################
 # CLI