2010-09-27 14 views
17

Do mojego projektu Qt używam pliku .pro, który zawiera oddzielny plik .pri dla różnych plików nagłówka, źródła, formularza i zasobów. Jednak za każdym razem, gdy dodaję nowy plik, muszę ręcznie dodać go do pliku .pri. Jest to nużące i podatne na błędy. Czy istnieje sposób na "magiczne" dodanie wszystkich plików z katalogu, bezpośrednio w pliku .pri lub przez nakazanie qmake uruchomienia osobnego skryptu wcześniej?QMake: Automatyczne kompilowanie wszystkich plików w katalogu

+1

Ładne pytanie! Ale ... potencjalne błędy spowodowane dodaniem dowolnych plików (z katalogu) mogą być większe niż te, gdy nazwa pliku jest błędna. Dodanie nazwy pliku do pliku .pri zajmuje znacznie mniej czasu niż dodanie pliku źródłowego, więc czas ten powinien zostać zaniedbany. – mmonem

Odpowiedz

9

Po uruchomieniu z katalogu zostanie utworzony plik projektu zawierający wszystkie pliki .cpp i .h w tym katalogu. Możesz dodać etap wstępnej kompilacji, który wywołuje qmake -project, a następnie przekazać wygenerowany plik do skryptu, który usuwa kilka pierwszych wierszy. Oto krótki jeden-liner, które mogą wykonać zadanie:

qmake -project -o MyFiles.pro && sed '1,/^# Input/d' MyFiles.pro > MyFiles.pri && rm MyFiles.pro 
15

Można użyć:

SOURCES += *.cpp 
HEADERS += *.h 

w pliku pro. Oczywiście nadal musisz pamiętać o ponownym uruchomieniu qmake po utworzeniu nowych plików.

+8

W jaki sposób można to rekurencyjnie dodać do wszystkich plików źródłowych w danym katalogu i wszystkich podkatalogach? To tylko dodaje pliki w ścieżce głównej. –

+0

Nie działa również dla żadnej ścieżki z wyjątkiem $$ PWD, np. '../ my_blah/*. h' nie działa, mówi" Nie można znaleźć ... " – DBedrenko

Powiązane problemy