CMake. Создать целевой охват

Извините за такой популярный вопрос. Но я не могу соответственно применить ответы отсюда к моей среде.

У меня есть 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 Тотчас?
Спасибо!

0

Решение

вы можете использовать cmake построить это так:

add_custom_target(
coverage
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
COMMAND sh ${CMAKE_SOURCE_DIR}/do_coverage.sh
)
0

Другие решения


По вопросам рекламы [email protected]