-- AdvancedDockingSystem 第三方库配置
-- 此文件被主项目通过 includes("advanceddockingsystem") 引入

-- AdvancedDockingSystem 库
target("advanceddockingsystem")
    add_rules("qt.static")
    if is_plat("windows") then
        add_defines("UNICODE", "_UNICODE")
    end
    
    add_defines("BUILD_ADVANCEDDOCKINGSYSTEM_STATIC_LIB")
    -- 源文件
    add_files("*.cpp")
    add_files("linux/*.cpp")
    
    -- 头文件
    add_headerfiles("*.h")
    add_headerfiles("linux/*.h")
    
    -- 包含目录
    add_includedirs(".", {public = true})
    
    -- Qt MOC 处理
    add_files("*.h", {rules = "qt.moc"})
    add_files("linux/*.h", {rules = "qt.moc"})
    add_files("resources.qrc")
    add_files("**.ui")
    -- 资源文件
    if os.isfile("src/ads.qrc") then
        add_files("src/ads.qrc")
    end
    
    -- C++17 标准
    set_languages("c++17")
    
    -- 编译定义
    add_defines("ADS_STATIC")
    
    -- Windows 特定配置
    if is_plat("windows") then
        add_cxflags("/utf-8")
        add_syslinks("user32", "gdi32", "ole32")
    else
        add_cxflags("-Wall", "-Wextra")
    end
    add_frameworks("QtCore", "QtGui", "QtWidgets", "QtNetwork", "QtMultimedia")

    add_deps("utils_lib")
target_end()
