添加对cmake内置目标的依赖性

时间:2019-05-25 14:58:29

标签: c cmake

假设我们要构建一个简单的库,其中包含一个头文件和一个源文件(分别为 my_lib.c my_lib.h )。 CMakeLists.txt将类似于:

cmake_minimum_required(VERSION 3.14)
project(example C)
add_library(example my_lib.c my_lib.h)

可用目标为(make help的输出):

  • my_lib.i
  • ...

现在,假设我们有一个脚本(假设为 my_script.py ),该脚本需要 my_lib.c 的预处理输出(目标 my_lib的输出)。 i )作为输入参数。 因此,我们将以下代码添加到CMakeLists.txt中:

add_custom_target(my_script
    DEPENDS 
    COMMAND python my_scipt.py path/to/my_lib.i)

问题是:是否可以添加依赖项(以上DEPENDS的{​​{1}}参数)以构建目标 my_lib.i

我读过类似的问题,但是所有人都建议显式调用预处理器,这可能会通过修改编译器来破坏构建。

谢谢

0 个答案:

没有答案