我将一个旧项目移植到Qt,我有很多单元测试项目。 每个单元测试都是一个可执行文件。
现在我的主.pro文件如下所示:
SUBDIRS += UnitTests/Test01/Test01.pro
SUBDIRS += UnitTests/Test02/Test02.pro
SUBDIRS += UnitTests/Test03/Test03.pro
...
SUBDIRS += UnitTests/Test54/Test54.pro
有没有办法一次包含所有子目录? 我想要这样的东西:
SUBDIRS += UnitTests/*
由于
答案 0 :(得分:1)
您可以尝试使用qmake的files函数找到所有*.pro
个文件并添加如下:
SUBDIRS += $$files(UnitTests/*.pro,true)
files
需要两个参数:一个globbing表达式作为第一个参数以及是否递归到子目录。
答案 1 :(得分:0)
感谢MartinHöher,这非常有效:
// Get a list of all .pro files
UNIT_TESTS_PRO_FILES = $$files($${PROJECT_ROOT_DIR}/Sources/UnitTests/*.pro, true)
// Add them as subdirs
for(unitTestProFile, UNIT_TESTS_PRO_FILES) SUBDIRS *= $${unitTestProFile}