최근 CMake를 통해 내 프로젝트 중 하나에 테스트를 추가했습니다. 필자는 테스트 케이스를 실행할 다른 실행 파일을 만들어이 작업을 수행했습니다. 내 프로젝트의 테스트 케이스는 내 메인 애플리케이션의 코드를 사용한다. 주 응용 프로그램과 테스트 러너가 공유하는 소스 파일을 변경할 때마다 해당 개체를 두 번 다시 컴파일합니다. 기본 응용 프로그램에 한 번, 테스트 러너에 두 번째로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}
)