| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- -- AV 框架子模块配置
- -- 此文件被主项目通过 includes("AV") 引入
- -- 公共基础配置函数
- function add_av_common_config()
- add_includedirs(".", {public = true})
- add_includedirs("code", {public = true})
- end
- -- 基础库
- target("av_base")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/base/*.cpp")
- add_headerfiles("code/base/*.h")
- add_av_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
-
- -- 平台特定设置
- if is_plat("windows") then
- add_syslinks("ws2_32", "winmm")
- else
- add_syslinks("pthread")
- end
- -- 编解码库
- target("av_codec")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/codec/*.cpp")
- add_headerfiles("code/codec/*.h")
- add_av_common_config()
- add_deps("av_base")
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 捕获库
- target("av_capture")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/capture/*.cpp")
- add_headerfiles("code/capture/*.h")
- add_av_common_config()
- add_deps("av_base")
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 混流库
- target("av_muxer")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/muxer/*.cpp")
- add_headerfiles("code/muxer/*.h")
- add_av_common_config()
- add_deps("av_base")
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 工具库
- target("av_utils")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/utils/*.cpp")
- add_headerfiles("code/utils/*.h")
- add_av_common_config()
- add_deps("av_base")
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 完整的AV框架库 - 主项目依赖的统一接口
- target("av_framework")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_deps("av_base", "av_codec", "av_capture", "av_muxer", "av_utils")
- add_av_common_config()
-
- -- 导出所有子模块的接口
- add_headerfiles("code/**/*.h")
- -- 播放器库
- target("av_player")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/player/*.cpp")
- add_headerfiles("code/player/*.h")
- add_av_common_config()
- add_deps("av_base", "av_codec")
-
- -- Qt 配置
- add_qt_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 录制器库
- target("av_recorder")
- set_kind("static")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("code/recorder/*.cpp")
- add_headerfiles("code/recorder/*.h")
- add_av_common_config()
- add_deps("av_base", "av_codec", "av_capture", "av_muxer")
-
- -- Qt 配置
- add_qt_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 基础测试程序
- target("test_basic")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_basic.cpp")
- add_deps("av_base")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 编解码测试程序
- target("test_codec")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_codec.cpp")
- add_deps("av_codec")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 解码器测试程序
- target("test_decoder")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_decoder.cpp")
- add_deps("av_codec")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
-
- -- 音频编码器测试程序
- target("test_audio_encoder")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_audio_encoder.cpp")
- add_deps("av_codec")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 窗口采集测试程序
- target("test_window_capture")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_window_capture.cpp")
- add_deps("av_capture")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 工具类测试程序
- target("test_utils")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_utils.cpp")
- add_deps("av_utils")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 混流器测试程序
- target("test_muxer")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_muxer.cpp")
- add_deps("av_muxer")
- add_common_config()
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 音频调试测试程序
- target("test_audio_debug")
- set_kind("binary")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_audio_debug.cpp")
- add_deps("av_base", "av_codec", "av_utils")
- add_files("code/player/player_core_v2.cpp")
- add_files("code/player/audio_output.cpp")
- add_files("code/player/thread_manager.cpp")
- add_headerfiles("code/player/*.h")
- add_common_config()
-
- add_rules("qt.widgetapp")
- add_frameworks("QtCore", "QtWidgets", "QtMultimedia")
-
- -- FFmpeg配置
- add_ffmpeg_config()
- -- 带UI的播放器测试程序
- target("test_player_with_ui")
- add_rules("qt.widgetapp")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_common_config()
- add_files("test_player_with_ui.cpp", {rules = "qt.moc"})
- add_deps("av_base", "av_codec", "av_utils")
- add_files("code/player/*.cpp")
- add_headerfiles("code/player/*.h")
- add_files("code/player/*.h", {rules = "qt.moc"})
- add_frameworks("QtNetwork", "QtGui", "QtCore", "QtWidgets", "QtMultimedia", "QtOpenGL")
-
- -- FFmpeg配置
- add_ffmpeg_config()
-
-
- -- 混流器测试程序
- target("test_seek_pause_fixed")
- set_kind("binary")
- add_rules("qt.widgetapp")
- if is_plat("windows") then
- add_defines("UNICODE", "_UNICODE")
- end
- add_files("test_seek_pause_fixed.cpp")
- add_deps("av_base", "av_codec", "av_utils")
- add_common_config()
- add_frameworks("QtNetwork", "QtGui", "QtCore", "QtWidgets", "QtMultimedia", "QtOpenGL")
-
- -- FFmpeg配置
- add_ffmpeg_config()
|