obs-studio/plugins/coreaudio-encoder/CMakeLists.txt

54 lines
1.6 KiB
CMake

project(coreaudio-encoder)
if(OS_WINDOWS)
option(ENABLE_COREAUDIO_ENCODER
"Enable building with CoreAudio encoder (Windows)" ON)
if(NOT ENABLE_COREAUDIO_ENCODER)
obs_status(DISABLED "coreaudio-encoder")
return()
endif()
endif()
add_library(coreaudio-encoder MODULE)
add_library(OBS::coreaudio-encoder ALIAS coreaudio-encoder)
target_sources(coreaudio-encoder PRIVATE encoder.cpp)
set_target_properties(
coreaudio-encoder
PROPERTIES OUTPUT_NAME "coreaudio-encoder"
FOLDER "plugins"
PREFIX "")
target_compile_features(coreaudio-encoder PRIVATE cxx_std_11)
target_link_libraries(coreaudio-encoder PRIVATE OBS::libobs)
if(OS_MACOS)
find_library(COREFOUNDATION CoreFoundation)
find_library(COREAUDIO CoreAudio)
find_library(AUDIOTOOLBOX AudioToolbox)
mark_as_advanced(AUDIOTOOLBOX COREAUDIO COREFOUNDATION)
target_link_libraries(coreaudio-encoder PRIVATE ${COREFOUNDATION}
${COREAUDIO} ${AUDIOTOOLBOX})
elseif(OS_WINDOWS)
if(MINGW)
set_source_files_properties(encoder.cpp PROPERTIES COMPILE_FLAGS
-Wno-multichar)
endif()
target_compile_definitions(coreaudio-encoder PRIVATE UNICODE _UNICODE)
set(MODULE_DESCRIPTION "OBS CoreAudio encoder")
configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
coreaudio-encoder.rc)
target_sources(coreaudio-encoder PRIVATE coreaudio-encoder.rc
windows-imports.h)
endif()
setup_plugin_target(coreaudio-encoder)