Skip to content

对依赖的package手动修改配置头文件后希望能触发差异构建 #6230

@wpchom

Description

@wpchom

你在什么场景下需要该功能?

对嵌入式开发来说一般都是使用源码裁剪编译,编出来的包基本不会跨项目使用,所以都设置set_policy("package.install_locally", true)

实际项目中,像对mbedtls进行裁剪移植,会根据项目需求单独写一个mbedtls_config.h,然后通过MBEDTLS_CONFIG_FILE宏指定配置头文件。

经过一次工程编译后,mbedtls库编译好在build/.packages下,再去修改mbedtls_config.h文件,mbedtls以及依赖mbedtls的包都不会触发重新编译。

现有的解决方案:

  • 删掉build/.packages的内容再xmake clean --all后再重新编译才能引入新修改的配置
  • 设置set_policy("package.install_always", true)

但都会触发全量编译。

描述可能的解决方案

针对install_locally的场景下,--all的选项是不是也能包含依赖包。

  1. xmake clean --all的时候能对依赖包也一同做clean动作
  2. xmake build --all的时候能触发依赖包(及其的上游依赖)的差异检查触发包的重构

描述你认为的候选方案

No response

其他信息

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions