0
generated.h
は、今のところtouch
に置き換えられたスクリプトによって作成されます。 make
を実行するたびにこのファイルが再生成されることをどのように達成できますか?下の例のようにrm
を呼び出すと、エラーが発生します。代わりにadd_custom_command
使用add_custom_targetのcmake:各ビルドでファイルを再生成
cmake_minimum_required(VERSION 3.5.1)
project(MyProject)
set_source_files_properties(generated.h PROPERTIES GENERATED TRUE)
add_executable(jr
jr.cpp
generated.h
)
add_custom_command(
OUTPUT generated.h
COMMAND rm generated.h
COMMAND touch generated.h
)
:それは、ビルドが実行されるたびに実行されます。 – Tsyvarev
変更を加えると、ファイルは生成されません。 – robert
ええと、あなたは試してみましたか? 'add_custom_target(regenerate COMMAND touch generated.h)'、 'add_dependencies(jr regenerate)'? 'touch 'の前にファイルを削除したい場合は、' COMMAND rm -f generated.h'を使います。 – Tsyvarev