Expanding wildcards with qmake
Tuesday, March 26, 2013
I was always wondering why doing something like this never worked
SOURCES += *.cpp
SOURCES -= excluded.cpp
excluded.cpp
always stayed in SOURCES
. The thing is that when you add a new value to the list, it’s just a string. Thus using wildcard in files names is nothing more but an asteriks character. And therefore using -=
operator will only remove exact strings. But today I found another undocumented function I’ve been looking for years!
$$files(glob)
— Returns a list of files which match the specified glob pattern.
So now I can do
SOURCES += $$files(*.cpp)
SOURCES -= excluded.cpp
and it actually works.