CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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(obs-opengl_PLATFORM_SOURCES
  8. GL/wgl_obs.c)
  9. set(libobs-opengl_PLATFORM_SOURCES
  10. gl-windows.c)
  11. elseif(APPLE)
  12. set(libobs-opengl_PLATFORM_SOURCES
  13. gl-cocoa.m)
  14. set_source_files_properties(${libobs-opengl_PLATFORM_SOURCES}
  15. PROPERTIES
  16. LANGUAGE C)
  17. find_library(COCOA Cocoa)
  18. include_directories(${COCOA})
  19. mark_as_advanced(COCOA)
  20. find_library(IOSURF IOSurface)
  21. include_directories(${IOSURF})
  22. mark_as_advanced(${IOSURF})
  23. set(libobs-opengl_PLATFORM_DEPS
  24. ${COCOA}
  25. ${IOSURF})
  26. else()
  27. set(libobs-opengl_PLATFORM_SOURCES
  28. gl-x11.c)
  29. set(obs-opengl_PLATFORM_SOURCES
  30. GL/glx_obs.c)
  31. endif()
  32. set(obs-opengl_SOURCES
  33. GL/gl_obs.c)
  34. set(libobs-opengl_SOURCES
  35. ${libobs-opengl_PLATFORM_SOURCES}
  36. gl-helpers.c
  37. gl-indexbuffer.c
  38. gl-shader.c
  39. gl-shaderparser.c
  40. gl-stagesurf.c
  41. gl-subsystem.c
  42. gl-texture2d.c
  43. gl-texturecube.c
  44. gl-vertexbuffer.c
  45. gl-zstencil.c)
  46. set(libobs-opengl_HEADERS
  47. gl-helpers.h
  48. gl-shaderparser.h
  49. gl-subsystem.h)
  50. add_library(obs-opengl STATIC
  51. ${obs-opengl_SOURCES}
  52. ${obs-opengl_PLATFORM_SOURCES})
  53. if(NOT WIN32)
  54. set_property(TARGET obs-opengl APPEND_STRING
  55. PROPERTY COMPILE_FLAGS " -fPIC")
  56. endif()
  57. target_link_libraries(obs-opengl
  58. ${OPENGL_gl_LIBRARY})
  59. add_library(libobs-opengl MODULE
  60. ${libobs-opengl_SOURCES}
  61. ${libobs-opengl_HEADERS})
  62. set_target_properties(libobs-opengl
  63. PROPERTIES
  64. OUTPUT_NAME libobs-opengl
  65. PREFIX "")
  66. target_link_libraries(libobs-opengl
  67. libobs
  68. obs-opengl
  69. ${libobs-opengl_PLATFORM_DEPS})
  70. install_obs_core(libobs-opengl)