Qt Creator(不是CMake)如何为不同的构建配置指定不同的文件



我在QT Creator中有一个项目(作为.pro文件,而不是CMake(。现在我想添加测试(gtest(作为另一个构建配置,所以我添加了构建配置"debug_tests"(Projects->add->Debugwithname-debug _tests(。现在,我想为"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

通常,测试在它们自己的子项目中,而不是主源代码树中某个范围的一部分。

这允许您将它们与主代码干净地分离,并且可以轻松地运行它们。您甚至可以调用make check来运行您为库/应用程序创建的整个测试套件。

最新更新