依赖关系和编译顺序
#2500
Replies: 1 comment 1 reply
-
之前有点 bug ,切到 builddeps 分支再试试 ,xmake update -s github:xmake-io/xmake#builddeps
即使配置了 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
我还是希望讨论一下依赖关系和编译顺序的问题。
以我自己的工程为例,分为三部分:基础库,辅助工具,应用程序。
基础库都是静态库,其他所有工程都依赖于基础库。
辅助工具负责生成中间文件,包括应用程序的部分源码。
应用程序有很多个,互相之间没有依赖,但是都依赖于基础库和辅助工具。
根据依赖关系,首先编译的应该是没有任何依赖的基础库,然后是辅助工具,最后是应用程序。因为不同target之间可以并行编译,所以同时编译也可以理解。但是我可以给所有基础库和辅助工具都加上
set_policy("build.across_targets_in_parallel", false)
,也就是基础库和辅助工具都不允许并行编译,那应该得到的顺序是基础库依次编译,然后是辅助工具,最后应用程序可以并行编译。但是现在跑起来的结果是应用程序先编译了,因为辅助工具还没有生成源码,所以编译一定失败。不知道这个顺序能否安装依赖关系来呢?还有这些基础库直接其实互相不依赖的,如果能够基础库直接并行编译,然后生成辅助工具并生成源码,最后应用程序并行编译,这就是最理想的结果。但是现在我能接受基础库也串行编译,因为一般都不会怎么改动。
当然,现在辅助工具生成的源码能不能被xmake包含进去还是有待实验,因为xmake可能先扫描了源码,再生成的文件就不能加进来了。
Beta Was this translation helpful? Give feedback.
All reactions