-
-
Notifications
You must be signed in to change notification settings - Fork 882
Open
Labels
Description
你在什么场景下需要该功能?
背景:
依赖关系是: gui ( gui-sdk ( core ( framework ( qt, opencv, cimg, ...) , qt, opencv, ... ), core (..), framework (...) )
所有的库都预先编译,使用 windows / x64 / release|debug 配置
工作方式: 每个库运行 xmake package , 然后 zip 压缩 build/packages/f/framework,config 新项目时,再下载解压
目前的问题是:
中间 framework / core 这种被多次依赖的项目发布了新版本后,下游所有的包要重新 package / zip / upload / download / install,否则会有依赖冲突,表现为使用了错误的 dll
为什么不 设置为 private,然后 xmake install 再 zip / upload?
它会把 Qt 相关的 dll 也都复制过来。在大多数情况下,这是需要的,但发布私有包的情况不需要。
描述可能的解决方案
能在 add_requires / add_packages / add_deps 中存在一个选项,可以在 package 时,仅复制当前 target 而不复制依赖;在新项目的 xmake config 时,.xmake/windows/x64/cache/package 中每个包独立配置, envs / linkdirs / libfiles 仅使用当前 target 的配置;在 xmake install 的时候又可以安装完整的依赖关系。
描述你认为的候选方案
No response
其他信息
No response