CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. project(coreaudio-encoder)
  2. if(OS_WINDOWS)
  3. option(ENABLE_COREAUDIO_ENCODER
  4. "Enable building with CoreAudio encoder (Windows)" ON)
  5. if(NOT ENABLE_COREAUDIO_ENCODER)
  6. obs_status(DISABLED "coreaudio-encoder")
  7. return()
  8. endif()
  9. endif()
  10. add_library(coreaudio-encoder MODULE)
  11. add_library(OBS::coreaudio-encoder ALIAS coreaudio-encoder)
  12. target_sources(coreaudio-encoder PRIVATE encoder.cpp)
  13. set_target_properties(
  14. coreaudio-encoder
  15. PROPERTIES OUTPUT_NAME "coreaudio-encoder"
  16. FOLDER "plugins"
  17. PREFIX "")
  18. target_compile_features(coreaudio-encoder PRIVATE cxx_std_11)
  19. target_link_libraries(coreaudio-encoder PRIVATE OBS::libobs)
  20. if(OS_MACOS)
  21. find_library(COREFOUNDATION CoreFoundation)
  22. find_library(COREAUDIO CoreAudio)
  23. find_library(AUDIOTOOLBOX AudioToolbox)
  24. mark_as_advanced(AUDIOTOOLBOX COREAUDIO COREFOUNDATION)
  25. target_link_libraries(coreaudio-encoder PRIVATE ${COREFOUNDATION}
  26. ${COREAUDIO} ${AUDIOTOOLBOX})
  27. elseif(OS_WINDOWS)
  28. if(MINGW)
  29. set_source_files_properties(encoder.cpp PROPERTIES COMPILE_FLAGS
  30. -Wno-multichar)
  31. endif()
  32. target_compile_definitions(coreaudio-encoder PRIVATE UNICODE _UNICODE)
  33. set(MODULE_DESCRIPTION "OBS CoreAudio encoder")
  34. configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
  35. coreaudio-encoder.rc)
  36. target_sources(coreaudio-encoder PRIVATE coreaudio-encoder.rc
  37. windows-imports.h)
  38. endif()
  39. setup_plugin_target(coreaudio-encoder)