baziorek
baziorek

Reputation: 2684

Qt Creator (not CMake) how to specify different files for different build configurations?

I have project in QT Creator (as .pro file, not as CMake). Now I want to add tests (gtest) as another build configuration, so I've added build configuration "debug_tests" (Projects -> Add -> Debug with name debug_tests). Now I want to add specific main file for "debug_tests" and exclude from build my normal main file when the build configuration is choosen. So I've tried:

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

But it is not working, it is working when I do like that:

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

But it is not good solution if I want to add more configurations.

Another solution which I see is to just add defines to compilation and have ifdef in my code.

Upvotes: 0

Views: 181

Answers (1)

SGaist
SGaist

Reputation: 928

Usually, tests are in their own sub-projects rather than part of some scope in your main source tree.

This allows you to keep them cleanly separated from your main code and you can run them easily. You can even call make check to run the whole test suite that you created for your library/application.

Upvotes: 0

Related Questions