Mam mały projekt z plikiem Makefile, który próbuję przekonwertować na CMake, głównie po to, aby zdobyć doświadczenie z CMake. Na potrzeby tego przykładu projekt zawiera plik źródłowy (C ++, chociaż nie sądzę, aby język był szczególnie odpowiedni) i plik biblioteki statycznej, który skopiowałem z innego miejsca. Załóżmy, że kod źródłowy biblioteki jest niedostępny; Mam tylko plik .a i odpowiedni nagłówek.
Mój ręcznie robiony plik Makefile zawiera następującą zasadę budowy:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
co działa dobrze. Jak powiedzieć CMake, aby to odtworzył? Oczywiście nie dosłownie ten plik makefile, ale coś, co zawiera równoważne polecenie łączenia. Próbowałem oczywistych, ale naiwnych sposobów
add_executable(main main.cpp libbingitup.a)
lub
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
jak również różne rzeczy z link_directories(.)
lub add_library(bingitup STATIC IMPORTED)
itp., ale jak dotąd nic nie skutkuje udanym powiązaniem. Co mam robić?
Szczegóły wersji: CMake 2.8.7 na Linuksie (Kubuntu 12.04) z GCC 4.6.3