CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. if(WIN32)
  2. set(libobs_platform_src
  3. obs-windows.c
  4. util/platform-windows.c)
  5. elseif(APPLE)
  6. set(libobs_platform_src
  7. obs-cocoa.c
  8. util/platform-cocoa.m)
  9. set_source_files_properties(${libobs_platform_src}
  10. PROPERTIES
  11. LANGUAGE C
  12. COMPILE_FLAGS "-fobjc-arc")
  13. add_definitions("-DHAVE_STRTOLL")
  14. find_library(COCOA Cocoa)
  15. mark_as_advanced(COCOA)
  16. include_directories(${COCOA})
  17. link_libraries(${COCOA})
  18. elseif(UNIX)
  19. set(libobs_platform_src
  20. obs-nix.c
  21. util/platform-nix.c)
  22. else()
  23. endif()
  24. option(USE_STATIC_FFMPEG "Link ffmpeg statically (if possible)" false)
  25. if(USE_STATIC_FFMPEG)
  26. set(FFMPEG_STATIC "static")
  27. endif()
  28. find_package(Libavutil REQUIRED ${FFMPEG_STATIC})
  29. include_directories(${LIBAVUTIL_INCLUDE_DIRS})
  30. add_definitions(${LIBAVUTIL_DEFINITIONS})
  31. find_package(Libswresample REQUIRED ${FFMPEG_STATIC})
  32. include_directories(${LIBSWRESAMPLE_INCLUDE_DIRS})
  33. add_definitions(${LIBSWRESAMPLE_DEFINITIONS})
  34. add_library(libobs SHARED
  35. obs.c
  36. obs-display.c
  37. obs-module.c
  38. obs-output.c
  39. obs-scene.c
  40. obs-source.c
  41. obs-video.c
  42. util/base.c
  43. util/bmem.c
  44. util/cf-lexer.c
  45. util/cf-parser.c
  46. util/config-file.c
  47. util/dstr.c
  48. util/lexer.c
  49. util/platform.c
  50. util/text-lookup.c
  51. util/utf8.c
  52. media-io/audio-io.c
  53. media-io/format-conversion.c
  54. media-io/audio-resampler-ffmpeg.c
  55. media-io/media-io.c
  56. media-io/video-io.c
  57. graphics/axisang.c
  58. graphics/bounds.c
  59. graphics/effect.c
  60. graphics/effect-parser.c
  61. graphics/graphics.c
  62. graphics/graphics-imports.c
  63. graphics/math-extra.c
  64. graphics/matrix3.c
  65. graphics/matrix4.c
  66. graphics/plane.c
  67. graphics/quat.c
  68. graphics/shader-parser.c
  69. graphics/texture-render.c
  70. graphics/vec2.c
  71. graphics/vec3.c
  72. graphics/vec4.c
  73. callback/calldata.c
  74. callback/proc.c
  75. callback/signal.c
  76. ${libobs_platform_src})
  77. set_target_properties(libobs
  78. PROPERTIES OUTPUT_NAME obs)
  79. target_link_libraries(libobs
  80. ${LIBAVUTIL_LIBRARIES}
  81. ${LIBSWRESAMPLE_LIBRARIES})
  82. obs_add_core_lib(libobs)
  83. obs_add_data_source(/data/libobs/
  84. ${obs_SOURCE_DIR}/build/data/libobs/default.effect)