Извините за такой популярный вопрос. Но я не могу соответственно применить ответы отсюда к моей среде.
У меня есть API и тесты к нему. Оба являются подпроектами основного «фиктивного» проекта. Я застрял, потому что я использовал CMake-Anitpattern:
cmake_minimum_required (VERSION 2.8)
set(CMAKE_SKIP_RPATH FALSE)
add_subdirectory ( src )
add_subdirectory ( test )
add_custom_target(coverage
COMMAND make
COMMAND sh ${CMAKE_SOURCE_DIR}/do_coverage.sh
)
Тот COMMAND make
это плохое решение, потому что я планирую позже построить свой проект на Windows (да, мне нужно для этого также поместить команды из sh-script в CMakeLists.txt).
Итак, как я могу позволить CMake для сборки тестовое задание проект в автоматическом режиме для выполнения покрытия вещей (gcov, gcovr), даже если после cmake
я бы хотел make coverage
Тотчас?
Спасибо!
вы можете использовать cmake
построить это так:
add_custom_target(
coverage
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
COMMAND sh ${CMAKE_SOURCE_DIR}/do_coverage.sh
)