Ich habe vor kurzem Prüfungen durch CMake zu einem meiner Projekte hinzugefügt. Ich habe dies getan, indem ich eine andere ausführbare Datei erstellt habe, die meine Testfälle ausführt. Die Testfälle in meinem Projekt verwenden den Code aus meiner Hauptanwendung. Jedes Mal, wenn ich eine Quelldatei ändere, die zwischen der Hauptanwendung und dem Test-Runner freigegeben ist, kompiliert sie dieses Objekt zweimal neu. Einmal für die Hauptanwendung und ein zweites Mal für den Testläufer.Neucompilierung häufiger Objektdateien mit CMake vermeiden?
Gibt es eine Möglichkeit, die gleichen Objektdateien für beide zu teilen?
Meine CMakeLists Datei sieht in etwa so aus.
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}
)