Python スクリプト (gen_instantiations.py) を使用して、別の cpp ファイル (foo.cpp) に含まれる cpp ファイル (autogen_instantiations.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)
ただし、これを実行すると、毎回スクリプトが実行されます。私は何を間違っていますか?