add_custom_command (特定のファイルが変更されたときに外部スクリプトを実行する) に相当する方法はありますが、CMake スクリプト自体の実行中に実行する必要があるものはありますか? (つまり、ディペンデンシー グラフの生成用です。)
ソース コード ファイルは複数のサブライブラリに分割されており、どのソース ファイルがどのライブラリに対応するかをリストした構成ファイルがあります。(これらの構成ファイルの形式は、私たちが使用する別のツールによって固定されています。) 現在、これらの構成ファイルを解析して新しいファイルを書き込むカスタム外部スクリプトを実行します。これらのファイルは CMake ビルド プロセスによって読み込まれ、ファイル名のリストがadd_library() に渡されます。これは、ソース ファイルが追加/削除されるたびに、CMake を再実行する前に prebuild コマンドを再実行することを忘れずに、ビルド コマンドを再起動する必要があることを意味します。
CMake はそれ自体を再実行する必要があることを認識できることを知っているので、CMake に 1) 構成ファイルが変更されたことを認識させる 2) 構成ファイル パーサーを再実行する 3) 新しいファイル リストをロードする 4)新しいファイル リストを使用して依存関係ツリーを再生成します。 5) 最後に、新しいファイルを含めて実際のビルド/コンパイル プロセスを開始します。...そして、これらすべてを標準のビルド コマンドから行います。手動で外部構成ファイル パーサーを実行したり、CMake コマンドを手動で再実行したりする必要はなく、構成ファイルが変更されていない場合に不必要に実行する必要もありません。
検索で、 configure_file() の使用が提案されているこの質問を見つけましたが、それは外部 configfile パーサー スクリプトを呼び出す方法に対応していません。