Closed codehz closed 2 months ago
Bot detected the issue body's language is not English, translate it automatically.
Title: rule on_buildcmd_file cannot specify the generated header file dependency order
你这个得用 before_buildcmd_file 而不是 on_buildcmd_file,参考 bin2c rule
Bot detected the issue body's language is not English, translate it automatically.
You have to use before_buildcmd_file instead of on_buildcmd_file, refer to bin2c rule
ok,确实是这个问题,没注意到这一点
Bot detected the issue body's language is not English, translate it automatically.
ok, this is indeed the problem, I didn’t notice it
Xmake 版本
v2.9.4+20240729
操作系统版本和架构
Darwin 23.6.0 arm64 arm
描述问题
通过自定义规则生成头文件时,无法通过add_depfiles set_depmtime set_depcache指定头文件生成和后续编译的依赖顺序,从而导致多次构建的问题
期待的结果
先执行生成头文件的任务,再执行后续依赖这个头文件的源文件的编译
工程配置
该配置有意使用sleep来手动引入延迟,消除复现bug的竞争条件
test.inc : 仅包含注释用于触发变动检测 main.c :
附加信息和错误日志
改变test.inc文件后 第一次执行xmake,只执行了cp任务
第二次执行xmake,才执行编译任务