我使用一个Python脚本(gen_instantiations.py)来生成一个cpp文件(autogen_instantiations.cpp),这个文件被另一个cpp文件(foo.cpp)包含。
因此,当foo.hpp或gen_instantiations.py改变时,我希望CMake重新生成这个文件。
按照CMake FAQ中的指示,我做了以下操作。
但这样会每次都运行脚本。我做错了什么?
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)
但这样会每次都运行脚本。我做错了什么?