私は最近CMakeを通して私のプロジェクトの1つにテストを追加しました。テストケースを実行する別の実行可能ファイルを作成してこれを実行しました。私のプロジェクトのテストケースでは、メインアプリケーションのコードを使用しています。メインアプリケーションとテストランナーの間で共有されているソースファイルを変更するたびに、そのオブジェクトを2回再コンパイルします。メインアプリケーション用に1回、テストランナー用に2回目。CMakeで一般的なオブジェクトファイルを再コンパイルしないでください。
両方に同じオブジェクトファイルを共有する方法はありますか?
私のCMakeListsファイルは、このようになります。
AUX_SOURCE_DIRECTORY(${SRC_DIR}/game game_SRC)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/framework/ framework_SRC)
ADD_EXECUTABLE(${CMAKE_PROJECT_NAME}
${game_SRC} ${framework_SRC})
# --- Testing ---
ENABLE_TESTING()
AUX_SOURCE_DIRECTORY(${TEST_DIR} test_SRC)
ADD_EXECUTABLE(${TEST_RUNNER_NAME}
${test_SRC}
${framework_SRC}
)