CMakeLists.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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(libobs-opengl_PLATFORM_SOURCES
  7. gl-windows.c)
  8. elseif(APPLE)
  9. set(libobs-opengl_PLATFORM_SOURCES
  10. gl-cocoa.m)
  11. set_source_files_properties(${libobs-opengl_PLATFORM_SOURCES}
  12. PROPERTIES
  13. LANGUAGE C)
  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-x11.c)
  38. endif()
  39. set(libobs-opengl_SOURCES
  40. ${libobs-opengl_PLATFORM_SOURCES}
  41. gl-helpers.c
  42. gl-indexbuffer.c
  43. gl-shader.c
  44. gl-shaderparser.c
  45. gl-stagesurf.c
  46. gl-subsystem.c
  47. gl-texture2d.c
  48. gl-texture3d.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. if(WIN32 OR APPLE)
  57. add_library(libobs-opengl MODULE
  58. ${libobs-opengl_SOURCES}
  59. ${libobs-opengl_HEADERS})
  60. else()
  61. add_library(libobs-opengl SHARED
  62. ${libobs-opengl_SOURCES}
  63. ${libobs-opengl_HEADERS})
  64. endif()
  65. if(WIN32 OR APPLE)
  66. set_target_properties(libobs-opengl
  67. PROPERTIES
  68. OUTPUT_NAME libobs-opengl
  69. PREFIX "")
  70. else()
  71. set_target_properties(libobs-opengl
  72. PROPERTIES
  73. OUTPUT_NAME obs-opengl
  74. VERSION 0.0
  75. SOVERSION 0
  76. )
  77. endif()
  78. target_link_libraries(libobs-opengl
  79. libobs
  80. glad
  81. ${libobs-opengl_PLATFORM_DEPS})
  82. install_obs_core(libobs-opengl)