xmake.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. -- AvPlayer2 模块配置
  2. -- 此文件被主项目通过 includes("AvPlayer2") 引入
  3. -- AvPlayer2 库
  4. target("avplayer2_lib")
  5. add_rules("qt.shared")
  6. -- 所有源文件
  7. add_files("*.cpp")
  8. add_files("*.ui")
  9. add_headerfiles("*.h")
  10. -- 排除可能的主程序文件
  11. remove_files("main.cpp")
  12. -- 包含目录
  13. add_includedirs(".", {public = true})
  14. add_includedirs("res", {public = true})
  15. -- Qt MOC 处理
  16. add_files("*.h", {rules = "qt.moc"})
  17. -- FFmpeg 配置
  18. add_ffmpeg_config()
  19. -- 资源文件(如果有)
  20. if os.isfile("res/theme.qrc") then
  21. add_files("res/theme.qrc")
  22. end
  23. -- Windows 特定链接库
  24. if is_plat("windows") then
  25. add_syslinks("winmm", "user32", "gdi32", "ole32")
  26. add_syslinks("OpenGL32")
  27. end
  28. add_frameworks("QtCore", "QtGui", "QtWidgets", "QtNetwork", "QtMultimedia")
  29. target_end()
  30. -- AvPlayer2 独立应用程序(如果需要)
  31. target("AvPlayer2")
  32. add_rules("qt.widgetapp")
  33. set_kind("binary")
  34. -- 设置输出目录
  35. set_targetdir("$(projectdir)/bin")
  36. if is_mode("debug") then
  37. set_targetdir("$(projectdir)/bin_debug")
  38. set_basename("AvPlayer2d")
  39. end
  40. -- 主程序源文件(如果存在)
  41. if os.isfile("main.cpp") then
  42. add_files("main.cpp")
  43. end
  44. -- 依赖库
  45. add_deps("avplayer2_lib")
  46. -- add_deps("av_framework") -- 暂时不使用AV模块
  47. -- Qt 配置
  48. add_qt_config()
  49. -- FFmpeg 配置
  50. add_ffmpeg_config()
  51. -- Windows 特定链接库
  52. if is_plat("windows") then
  53. add_syslinks("shell32", "user32", "gdi32", "ole32", "oleaut32")
  54. add_syslinks("winmm", "d3d11", "dwmapi", "windowsapp")
  55. add_syslinks("OpenGL32")
  56. end
  57. add_frameworks("QtCore", "QtGui", "QtWidgets", "QtNetwork","QtMultimedia")
  58. target_end()