Qt Creator (не CMake), как указать разные файлы для разных конфигураций сборки? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть проект в QT Creator (как файл .pro, а не как CMake). Теперь я хочу добавить тесты (gtest) в качестве другой конфигурации сборки, поэтому я добавил конфигурацию сборки «debug_tests» (Проекты -> Добавить -> Отладка с именем debug_tests). Теперь я хочу добавить указанный c основной файл для «debug_tests» и исключить из сборки мой обычный основной файл, когда выбрана конфигурация сборки. Итак, я пробовал:

test_debug:{
    message("Running tests:")
    SOURCES += \
        tests/MultiCellArticleModelTests.cpp \
        tests/main_tests.cpp
    LIBS += \
        -lgtest    
}

Но он не работает, он работает, когда мне это нравится:

!debug_and_release:{
    message("Running tests:")
    SOURCES += \
        tests/MultiCellArticleModelTests.cpp \
        tests/main_tests.cpp
    LIBS += \
        -lgtest
}

Но это не лучшее решение, если я хочу добавить больше конфигураций.

Другое решение, которое я вижу, - просто добавить определения в компиляцию и добавить ifdef в мой код.

1 Ответ

1 голос
/ 06 июня 2020

Обычно тесты находятся в своих собственных подпроектах, а не являются частью некоторой области в вашем основном дереве исходных текстов.

Это позволяет вам держать их четко отделенными от вашего основного кода, и вы можете легко их запускать. Вы даже можете вызвать make check, чтобы запустить весь набор тестов, который вы создали для своей библиотеки / приложения.

...