Eu tenho um pequeno projeto com um Makefile que estou tentando converter para CMake, principalmente para obter experiência com o CMake. Para os fins deste exemplo, o projeto contém um arquivo de origem (C ++, embora eu não ache que a linguagem seja particularmente relevante) e um arquivo de biblioteca estática que copiei de outro lugar. Suponha, para fins de argumentação, que o código-fonte da biblioteca não esteja disponível; Tenho apenas o arquivo .a e o cabeçalho correspondente.
Meu Makefile feito à mão contém esta regra de construção:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
que funciona bem. Como faço para dizer ao CMake para reproduzir isso? Não literalmente esse makefile exato, é claro, mas algo que inclui um comando de vinculação equivalente. Tentei maneiras óbvias, mas ingênuas, como
add_executable(main main.cpp libbingitup.a)
ou
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
bem como várias coisas com link_directories(.)
ou add_library(bingitup STATIC IMPORTED)
etc., mas nada até agora que resulte em uma ligação bem-sucedida. O que devo fazer?
Detalhes da versão: CMake 2.8.7 no Linux (Kubuntu 12.04) com GCC 4.6.3