CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. project(libobs-opengl)
  2. include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
  3. find_package(OpenGL REQUIRED)
  4. include_directories(${OPENGL_INCLUDE_DIR})
  5. add_definitions(-DLIBOBS_EXPORTS)
  6. if(WIN32)
  7. set(libobs-opengl_PLATFORM_SOURCES
  8. gl-windows.c)
  9. elseif(APPLE)
  10. set(libobs-opengl_PLATFORM_SOURCES
  11. gl-cocoa.m)
  12. set_source_files_properties(${libobs-opengl_PLATFORM_SOURCES}
  13. PROPERTIES
  14. LANGUAGE C)
  15. find_library(COCOA Cocoa)
  16. include_directories(${COCOA})
  17. mark_as_advanced(COCOA)
  18. find_library(IOSURF IOSurface)
  19. include_directories(${IOSURF})
  20. mark_as_advanced(${IOSURF})
  21. set(libobs-opengl_PLATFORM_DEPS
  22. ${COCOA}
  23. ${IOSURF}
  24. ${OPENGL_gl_LIBRARY})
  25. else() #This needs to change to be more specific to get ready for Wayland
  26. find_package(XCB COMPONENTS XCB REQUIRED)
  27. find_package(X11_XCB REQUIRED)
  28. include_directories(
  29. ${XCB_INCLUDE_DIRS}
  30. ${X11_XCB_INCLUDE_DIRS})
  31. add_definitions(
  32. ${XCB_DEFINITIONS}
  33. ${X11_XCB_DEFINITIONS})
  34. set(libobs-opengl_PLATFORM_DEPS
  35. ${XCB_LIBRARIES}
  36. ${X11_XCB_LIBRARIES})
  37. set(libobs-opengl_PLATFORM_SOURCES
  38. gl-x11.c)
  39. endif()
  40. set(libobs-opengl_SOURCES
  41. ${libobs-opengl_PLATFORM_SOURCES}
  42. gl-helpers.c
  43. gl-indexbuffer.c
  44. gl-shader.c
  45. gl-shaderparser.c
  46. gl-stagesurf.c
  47. gl-subsystem.c
  48. gl-texture2d.c
  49. gl-texturecube.c
  50. gl-vertexbuffer.c
  51. gl-zstencil.c)
  52. set(libobs-opengl_HEADERS
  53. gl-helpers.h
  54. gl-shaderparser.h
  55. gl-subsystem.h)
  56. add_library(libobs-opengl MODULE
  57. ${libobs-opengl_SOURCES}
  58. ${libobs-opengl_HEADERS})
  59. set_target_properties(libobs-opengl
  60. PROPERTIES
  61. OUTPUT_NAME libobs-opengl
  62. PREFIX "")
  63. target_link_libraries(libobs-opengl
  64. libobs
  65. glad
  66. ${libobs-opengl_PLATFORM_DEPS})
  67. install_obs_core(libobs-opengl)