8

cmakeでビルドプロセスを自動化しようとしています。現在、問題は1つだけです。

cmakeの哲学(ある場合)では、データファイルのコピーを配置するのに最適な場所はどこにありますか。

ライブラリといくつかの例があります。例にはデータが必要です。

私は現在、次のことを行っています。

各例のCMakeLists.txtでカスタムコマンドを使用して、 CMAKE_CURRENT_BINARY_DIRビルド後の手順ですべてのデータをにコピーします。これをデバッグワークフローで使用しているため、インストールターゲットはまだ実行されていません。

これは非常にうまく機能しますが、特定の欠点があります。

  1. コピーは、プロジェクトがビルドされるたびに行われます。VS 2005では、新しく構築されていなくても、これが発生することがあります。データフォルダが大きいため、コピーに時間がかかり、少し面倒です。
  2. これは非常に不器用な方法だと確信しています。

これらのディレクトリを実行可能パスにコピーしたいので、デバッグ作業ディレクトリを設定する方法のヒントは必要ありません

これらのディレクトリをコピーするのに最適な時期は、少なくとも私が思うに、cmakeの構成/生成時です。私はこれを行うべきですか、そして私はこれをどのように行うのですか?

4

1 に答える 1

12

この質問で最近見たように、 configure_fileを使用してファイルをビルドディレクトリにコピーできます。

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/input.txt
    ${CMAKE_CURRENT_BINARY_DIR}/output.txt COPYONLY)

これは、ビルド時に1回、必要な場合にのみ実行されます。

于 2009-10-21T14:07:43.297 に答える