CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. project(libobs-opengl)
  2. find_package(OpenGL REQUIRED)
  3. include_directories(${OPENGL_INCLUDE_DIR})
  4. add_definitions(-DLIBOBS_EXPORTS)
  5. if(WIN32)
  6. set(MODULE_DESCRIPTION "OBS Library OpenGL wrapper")
  7. configure_file(${CMAKE_SOURCE_DIR}/cmake/winrc/obs-module.rc.in libobs-opengl.rc)
  8. set(libobs-opengl_PLATFORM_SOURCES
  9. gl-windows.c
  10. libobs-opengl.rc)
  11. elseif(APPLE)
  12. set(libobs-opengl_PLATFORM_SOURCES
  13. gl-cocoa.m)
  14. find_library(COCOA Cocoa)
  15. include_directories(${COCOA})
  16. mark_as_advanced(COCOA)
  17. find_library(IOSURF IOSurface)
  18. include_directories(${IOSURF})
  19. mark_as_advanced(${IOSURF})
  20. set(libobs-opengl_PLATFORM_DEPS
  21. ${COCOA}
  22. ${IOSURF}
  23. ${OPENGL_gl_LIBRARY})
  24. else() #This needs to change to be more specific to get ready for Wayland
  25. find_package(XCB COMPONENTS XCB REQUIRED)
  26. find_package(X11_XCB REQUIRED)
  27. include_directories(
  28. ${XCB_INCLUDE_DIRS}
  29. ${X11_XCB_INCLUDE_DIRS})
  30. add_definitions(
  31. ${XCB_DEFINITIONS}
  32. ${X11_XCB_DEFINITIONS})
  33. set(libobs-opengl_PLATFORM_DEPS
  34. ${XCB_LIBRARIES}
  35. ${X11_XCB_LIBRARIES})
  36. set(libobs-opengl_PLATFORM_SOURCES
  37. gl-nix.c
  38. gl-x11-egl.c
  39. gl-x11-glx.c)
  40. endif()
  41. set(libobs-opengl_SOURCES
  42. ${libobs-opengl_PLATFORM_SOURCES}
  43. gl-helpers.c
  44. gl-indexbuffer.c
  45. gl-shader.c
  46. gl-shaderparser.c
  47. gl-stagesurf.c
  48. gl-subsystem.c
  49. gl-texture2d.c
  50. gl-texture3d.c
  51. gl-texturecube.c
  52. gl-vertexbuffer.c
  53. gl-zstencil.c)
  54. set(libobs-opengl_HEADERS
  55. gl-helpers.h
  56. gl-shaderparser.h
  57. gl-subsystem.h)
  58. if(WIN32 OR APPLE)
  59. add_library(libobs-opengl MODULE
  60. ${libobs-opengl_SOURCES}
  61. ${libobs-opengl_HEADERS})
  62. else()
  63. add_library(libobs-opengl SHARED
  64. ${libobs-opengl_SOURCES}
  65. ${libobs-opengl_HEADERS})
  66. endif()
  67. if(WIN32 OR APPLE)
  68. set_target_properties(libobs-opengl
  69. PROPERTIES
  70. FOLDER "core"
  71. OUTPUT_NAME libobs-opengl
  72. PREFIX "")
  73. else()
  74. set_target_properties(libobs-opengl
  75. PROPERTIES
  76. FOLDER "core"
  77. OUTPUT_NAME obs-opengl
  78. VERSION 0.0
  79. SOVERSION 0
  80. )
  81. endif()
  82. target_link_libraries(libobs-opengl
  83. libobs
  84. glad
  85. ${libobs-opengl_PLATFORM_DEPS})
  86. install_obs_core(libobs-opengl)