Ho un piccolo progetto con un Makefile che sto cercando di convertire in CMake, principalmente solo per fare esperienza con CMake. Per gli scopi di questo esempio, il progetto contiene un file sorgente (C ++, anche se non credo che il linguaggio sia particolarmente rilevante) e un file di libreria statica che ho copiato altrove. Supponiamo per amor di discussione che il codice sorgente della libreria non sia disponibile; Ho solo il file .a e l'intestazione corrispondente.
Il mio Makefile fatto a mano contiene questa regola di costruzione:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
che funziona bene. Come dico a CMake di riprodurlo? Non letteralmente questo esatto makefile, ovviamente, ma qualcosa che include un comando di collegamento equivalente. Ho provato i modi ovvi ma ingenui, come
add_executable(main main.cpp libbingitup.a)
o
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
così come varie cose con link_directories(.)
o add_library(bingitup STATIC IMPORTED)
ecc. ma finora niente che si traduca in un collegamento riuscito. Cosa dovrei fare?
Dettagli sulla versione: CMake 2.8.7 su Linux (Kubuntu 12.04) con GCC 4.6.3