anotherim-desktop/plugins/rtp/CMakeLists.txt

95 lines
2.5 KiB
CMake
Raw Permalink Normal View History

find_package(GLib ${GLib_GLOBAL_VERSION} REQUIRED)
set(RTP_DEFINITIONS)
set(RTP_EXTRA_OPTIONS)
if(PLUGIN_RTP_WEBRTC_AUDIO_PROCESSING)
set(EXTRA_RTP_PACKAGES GstWebrtcDsp)
list(APPEND RTP_DEFINITIONS WITH_VOICE_PROCESSOR)
endif()
2021-03-21 11:41:38 +00:00
find_packages(RTP_PACKAGES REQUIRED
Gee
GLib
GModule
GObject
2022-02-14 13:55:59 +00:00
GTK4
2021-03-21 11:41:38 +00:00
Gst
GstApp
2021-05-01 13:19:05 +00:00
GstAudio
GstRtp
2022-05-14 11:59:54 +00:00
GstVideo
${EXTRA_RTP_PACKAGES}
2021-03-21 11:41:38 +00:00
)
2022-08-20 20:16:28 +00:00
if(GstRtp_VERSION VERSION_GREATER_EQUAL "1.16")
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} GST_1_16)
2021-04-11 10:31:03 +00:00
endif()
2022-08-20 20:16:28 +00:00
if(GstRtp_VERSION VERSION_GREATER_EQUAL "1.18")
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} GST_1_18)
endif()
2022-08-20 20:16:28 +00:00
if(GstRtp_VERSION VERSION_GREATER_EQUAL "1.20")
2022-05-14 11:59:54 +00:00
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} GST_1_20)
endif()
if(NOT VALA_VERSION VERSION_GREATER_EQUAL "0.56.1")
set(RTP_EXTRA_OPTIONS ${RTP_EXTRA_OPTIONS} --vapidir=${CMAKE_CURRENT_SOURCE_DIR}/vapi)
2022-07-27 17:41:05 +00:00
endif()
set(RTP_ENABLE_VP9 "no" CACHE BOOL "Enable VP9 support")
if(RTP_ENABLE_VP9)
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} ENABLE_VP9)
endif()
set(RTP_ENABLE_H264 "no" CACHE BOOL "Enable H264 support")
if(RTP_ENABLE_H264)
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} ENABLE_H264)
endif()
set(RTP_ENABLE_VAAPI "no" CACHE BOOL "Enable VAAPI support")
if(RTP_ENABLE_VAAPI)
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} ENABLE_VAAPI)
endif()
set(RTP_ENABLE_MSDK "no" CACHE BOOL "Enable MSDK support")
if(RTP_ENABLE_MSDK)
set(RTP_DEFINITIONS ${RTP_DEFINITIONS} ENABLE_MSDK)
2021-12-25 17:25:13 +00:00
endif()
2024-04-15 09:21:10 +00:00
if(WIN32 AND WITH_WASAPI)
list(APPEND RTP_DEFINITIONS WITH_WASAPI)
endif()
2021-03-21 11:41:38 +00:00
vala_precompile(RTP_VALA_C
SOURCES
src/codec_util.vala
src/device.vala
src/module.vala
src/plugin.vala
src/stream.vala
src/video_widget.vala
src/register_plugin.vala
2021-05-01 13:19:05 +00:00
${RTP_VOICE_PROCESSOR_VALA}
2021-03-21 11:41:38 +00:00
CUSTOM_VAPIS
2021-03-29 11:20:12 +00:00
${CMAKE_BINARY_DIR}/exports/crypto-vala.vapi
2021-03-21 11:41:38 +00:00
${CMAKE_BINARY_DIR}/exports/xmpp-vala.vapi
${CMAKE_BINARY_DIR}/exports/dino.vapi
${CMAKE_BINARY_DIR}/exports/qlite.vapi
PACKAGES
${RTP_PACKAGES}
2021-04-11 10:31:03 +00:00
DEFINITIONS
${RTP_DEFINITIONS}
OPTIONS
${RTP_EXTRA_OPTIONS}
2021-03-21 11:41:38 +00:00
)
2021-03-23 14:05:50 +00:00
add_definitions(${VALA_CFLAGS} -DG_LOG_DOMAIN="rtp" -I${CMAKE_CURRENT_SOURCE_DIR}/src)
2022-05-14 11:59:54 +00:00
add_library(rtp SHARED ${RTP_VALA_C} ${RTP_VOICE_PROCESSOR_CXX} src/gst_fixes.c)
target_link_libraries(rtp libdino crypto-vala ${RTP_PACKAGES} gstreamer-rtp-1.0 ${RTP_VOICE_PROCESSOR_LIB})
2021-03-21 11:41:38 +00:00
set_target_properties(rtp PROPERTIES PREFIX "")
set_target_properties(rtp PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins/)
install(TARGETS rtp ${PLUGIN_INSTALL})