CMakeLists.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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-texturecube.c
  49. gl-vertexbuffer.c
  50. gl-zstencil.c)
  51. set(libobs-opengl_HEADERS
  52. gl-helpers.h
  53. gl-shaderparser.h
  54. gl-subsystem.h)
  55. if(WIN32 OR APPLE)
  56. add_library(libobs-opengl MODULE
  57. ${libobs-opengl_SOURCES}
  58. ${libobs-opengl_HEADERS})
  59. else()
  60. add_library(libobs-opengl SHARED
  61. ${libobs-opengl_SOURCES}
  62. ${libobs-opengl_HEADERS})
  63. endif()
  64. if(WIN32 OR APPLE)
  65. set_target_properties(libobs-opengl
  66. PROPERTIES
  67. OUTPUT_NAME libobs-opengl
  68. PREFIX "")
  69. else()
  70. set_target_properties(libobs-opengl
  71. PROPERTIES
  72. OUTPUT_NAME obs-opengl
  73. VERSION 0.0
  74. SOVERSION 0
  75. )
  76. endif()
  77. target_link_libraries(libobs-opengl
  78. libobs
  79. glad
  80. ${libobs-opengl_PLATFORM_DEPS})
  81. install_obs_core(libobs-opengl)