Chciałem zbudować projekt zgodnie z dobrymi praktykami programowania, dlatego postanowiłem skorzystać z gotowej templatki dla projektu C++ przystosowanego do Test Driven Development budowanego przy pomocy CMake: Link do templatki tutaj, moja konfiguracja CMake w zasadzie pozostała bez zmian.
Cookiecutter generuje mi projekt w postaci Static library
. Tworzy się więc, o ile dobrze rozumiem, binarka gotowa do podlinkowania do innego projektu (?). Ja natomiast, oprócz zbudowania takiej biblioteki, chciałbym otrzymać także plik wykonywalny który by tą bibliotekę wykorzystywał. To znaczy chcę mieć plik main.cpp
który dla demostracji wykona jakieś komendy ze Static Library i zwróci wynik.
Teraz tak: na logikę mógłbym dopisać na koniec pliku src/CMakeList.txt
linijkę:
add_executable(app_exec ${PROJECT_SRCS})
która znajdzie mi pliki *.cpp w folderze src i utworzy plik wykonywalny. Z tym że odbędzie się to niejako z pominięciem tworzonego przez CMake Static library. Ja natomiast chciałbym bezpośrednio użyć mojego Static Library w logicznie oddzielnym projekcie w którym jest main.cpp.
Byłby mi ktoś w stanie podpowiedzieć jak zorganizować ten projekt żeby to miało ręce i nogi?
PS: Być może piszę głupoty, to jeden z moich pierwszych kontaktów z CMake. Jak to co piszę nie ma sensu, to proszę o jakąś konstruktywną krytykę