Comment dois-je dire à CMake le lien dans une bibliothèque statique dans le répertoire source?

J'ai un petit projet avec un Makefile qui je suis en train de convertir à CMake, la plupart du temps simplement pour acquérir de l'expérience avec CMake. Pour les fins de cet exemple, le projet contient un fichier source C++ (C++, mais je ne pense pas que la langue est particulièrement pertinent) et une bibliothèque statique fichier que j'ai copié à partir d'ailleurs. Supposons pour la commodité du raisonnement que le code source de la bibliothèque n'est pas disponible; je n'ai que la .un fichier et de l'en-tête correspondant.

Ma main Makefile contient cette règle de génération:

main: main.o libbingitup.a
    g++ -o main main.o libbingitup.a

qui fonctionne très bien. Comment dois-je dire à CMake pour reproduire ce? Pas littéralement exacte de ce makefile, bien sûr, mais quelque chose qui comprend un équivalent de liaison de commande. J'ai essayé d'évident, mais naïf, comme

add_executable(main main.cpp libbingitup.a)

ou

add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)

ainsi que diverses choses avec link_directories(.) ou add_library(bingitup STATIC IMPORTED) etc. mais rien d'aussi loin que les résultats dans un lien réussi entre. Que dois-je faire?


Version de détails: CMake 2.8.7 sur Linux (Kubuntu 12.04) avec GCC 4.6.3

InformationsquelleAutor David Z | 2012-12-29