假设我们要构建一个简单的库,其中包含一个头文件和一个源文件(分别为 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_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 ?
我读过类似的问题,但是所有人都建议显式调用预处理器,这可能会通过修改编译器来破坏构建。
谢谢