我使用python脚本(gen_instantiations.py)生成一个cpp文件(autogen_instantiations.cpp),该文件包含在另一个cpp文件(foo.cpp)中所以我希望CMake在foo.hpp或gen_instantiations.py发生变化时重新生成这个文件。按照 CMake 常见问题解答中的说明,这就是我所做的
add_custom_command(
COMMAND "./gen_instantiations.py"
OUTPUT "autogen_instantiations.cpp"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
DEPENDS gen_instantiations.py foo.hpp
)
add_custom_target(instantiations ALL DEPENDS autogen_instantiations.cpp)
add_library(foo
foo.cpp
)
add_dependencies(foo instantiations)
但是这个运行每次都会运行脚本。我究竟做错了什么?