依赖关系和编译顺序
#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
-
我还是希望讨论一下依赖关系和编译顺序的问题。
以我自己的工程为例,分为三部分:基础库,辅助工具,应用程序。
基础库都是静态库,其他所有工程都依赖于基础库。
辅助工具负责生成中间文件,包括应用程序的部分源码。
应用程序有很多个,互相之间没有依赖,但是都依赖于基础库和辅助工具。
根据依赖关系,首先编译的应该是没有任何依赖的基础库,然后是辅助工具,最后是应用程序。因为不同target之间可以并行编译,所以同时编译也可以理解。但是我可以给所有基础库和辅助工具都加上
set_policy("build.across_targets_in_parallel", false)
,也就是基础库和辅助工具都不允许并行编译,那应该得到的顺序是基础库依次编译,然后是辅助工具,最后应用程序可以并行编译。但是现在跑起来的结果是应用程序先编译了,因为辅助工具还没有生成源码,所以编译一定失败。不知道这个顺序能否安装依赖关系来呢?还有这些基础库直接其实互相不依赖的,如果能够基础库直接并行编译,然后生成辅助工具并生成源码,最后应用程序并行编译,这就是最理想的结果。但是现在我能接受基础库也串行编译,因为一般都不会怎么改动。
当然,现在辅助工具生成的源码能不能被xmake包含进去还是有待实验,因为xmake可能先扫描了源码,再生成的文件就不能加进来了。
Beta Was this translation helpful? Give feedback.
All reactions