Budowanie aplikacji - automatyzacja
Ostatnio zmodyfikowano 2018-12-02 23:03
nicraM Temat założony przez niniejszego użytkownika |
Budowanie aplikacji - automatyzacja » 2018-12-02 16:59:40 Witam forumowiczów i programistów `C++. Jestem początkującym jeśli chodzi o tematykę C++ więc proszę o wyrozumiałość. Do tej pory pisałem co nieco w PHP (symfony 4) i chcę w ramach nauki napisać backend jako API z wykorzystaniem frameworka http://pistache.io/.
Do tej pory w kursie wykorzystywane były w większości biblioteki wbudowane w c++ i kompilowanie kodu nie wymagało żadnych dodatkowych narzędzi. Wiem, że podczas pisania mojego skromnego api będę używał dodatkowych bibliotek do SOAP oraz libsnmp. Co prawda nie będzie to kolosalna wielkość zewnętrznych bibliotek ale chciałbym od początku używać "dobrych praktyk". Ściągając jakieś projekty z githuba, czy biblioteki by je zainstalować wydaje się polecana `cmake -XXX` `make` czy `configure`. Moje pytanie tu do profesjonalistów. Jak od początku tworzyć projekty by później instalacja wymagała jedynie wydanie 3 poleceń: `configure --otpt && make && make install`? Również chciałbym by linker niektóre biblioteki robił statycznie by na docelowym hoście nie trzeba było doinstalowywać bibliotek.
Z góry dziękuję za sugestie. Pozdrawiam |
|
garlonicon |
» 2018-12-02 21:37:55 Jak od początku tworzyć projekty by później instalacja wymagała jedynie wydanie 3 poleceń: `configure --otpt && make && make install`? |
Poczytaj o plikach Makefile. A jeśli chcesz pisać od razu przenośnie i nieco wygodniej, to możesz użyć programu CMake, który takie pliki wygeneruje automatycznie. Oczywiście pliki CMakeLists.txt i tak trzeba napisać ręcznie, ale sam CMake ułatwia sporo rzeczy, na przykład przejście z linkowania dynamicznego na statyczne to zwykle kwestia zmiany słowa SHARED na STATIC w add_library(), a cała reszta dzieje się automatycznie. Zresztą, wspomniany framework też korzysta z CMake-a, więc pewnie będzie można go względnie łatwo podpiąć jako zależność we własnych plikach CMakeLists.txt. |
|
nicraM Temat założony przez niniejszego użytkownika |
» 2018-12-02 23:03:22 Dzięki za odpowiedź. Tak myślałem by używać cmake. Biorę się za lekturę.
Szkoda, że na łamach portalu nie ma nic na ten temat, albo nie znalazłem, bo autor tak fajnie opisuje zagadnienia. |
|
« 1 » |