Potrzebuję porady w następującej sprawie:SCons lub CUpewnij zamiast qmake
Mam projektu qt, która jest skonfigurowana do pracy z qmake ładnie. Jednak ze względu na rozszerzenia wymagań i przyszłe kierunki projektu muszę zmienić jego system kompilacji, ponieważ aplikacja będzie wymagać pewnych zmian w sposobie jego budowy.
W tej chwili każdy plik źródłowy jest skompilowany do całkiem dużego pliku wykonywalnego, jest on pakowany (ręcznie) i wysyłany do obszaru pobierania. Wszystko w porządku.
Ale celem, do którego zmierzam, jest modularyzacja aplikacji w taki sposób, że każda "cecha" zostanie skompilowana do udostępnionej biblioteki, a użytkownik (programista) będzie mógł wybrać składniki, które chce skompilować. Te "funkcje" są umieszczane w katalogach w drzewie źródłowym (na przykład: query_builder, reverse_engineer, mysql_DB_support, katalogi version_managemen, etc ...) i kiedy użytkownik buduje aplikację, po prostu mówi systemowi kompilacji, aby skompilował aplikację za pomocą konstruktora zapytań i mysql, ale bez inżynierii wstecznej iw tym przypadku system kompilacji dodaje pliki źródłowe z określonego katalogu i tworzy z niego lib.
również mieć inne wymagania, takie jak:
- okna budowy Linux budowy
- ewentualnie zbudować opakowania (DEB rpm)
- pomocy Qt i ewentualnie QT5
- wielu plików wykonywalnych (GUI klient, klient CLI)
Po pewnym "badaniu rynku" skończyłem z CMake i SCons jako dwoma możliwymi sy łodygi, które mogę wykorzystać. Mam pewne doświadczenie CMake i trochę doświadczenia Pythona, ale nie SCons jeszcze.
Ale nie wiem, który z nich jest najlepszy dla mojej sprawy, tu potrzebuję twojej pomocy. Czy mógłbyś rozwinąć, z czego powinienem skorzystać? A jeśli uznasz, że moje wymagania są osiągalne z qmake, daj mi znać również,
Pozdrawiam, f.
Polecam CMake za to.Świetnie sprawdza się z Qt w oknach (używam go od 2008 roku w zasadzie dla każdego projektu w pracy i w domu) i linuxie i obsługuje opcjonalne komponenty, takie jak opisujesz. Mimo to powiedziałem, że nie używam sconów, więc nie mogę ich porównać. – drescherjm