CMake代码删除

时间:2018-01-28 18:02:58

标签: cmake

通过源代码向客户提供软件,我想删除#ifdef#ifdef#else部分)中封装的代码。我想通过目标属性调用CMake的install()来执行此操作。使用get_target_property(),我可以获取已启用定义的列表,但我无法通过undefadd_target_definition()set_target_property()'ed宏添加到该列表中.c个文件。我可以想象有适用于这种情况的解决方案,但我无法在SO和Google找到答案。

  • 如何为任何install()机制提供已启用和已禁用的定义列表?
  • 从任何目标.c文件中删除已禁用的代码行的最佳方法是什么?

非常感谢任何帮助。

亲切的问候, Floxtrott

1 个答案:

答案 0 :(得分:0)

我怀疑是否过滤掉你提到的这些问题是正确的方法。我会使用特定的Git分支并在常规基础上重新定义它们。

使用CMake,你很难做到这一点。它没有提供操作C源代码的工具。你可以生成一些标题,但基本上就是这样。

如果您坚持过滤,请使用Perl或Python。