У меня есть небольшой проект с Makefile, который я пытаюсь преобразовать в CMake, в основном, чтобы получить опыт работы с CMake. Для целей этого примера проект содержит исходный файл (С++, хотя я не думаю, что язык особенно уместен) и файл статической библиотеки, который я скопировал из другого места. Предположим, что исходный код библиотеки недоступен; У меня есть только файл .a и соответствующий заголовок.
Мой ручной файл Makefile содержит это правило сборки:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
который отлично работает. Как сообщить CMake, чтобы воспроизвести это? Не в буквальном смысле этот точный makefile, конечно, но что-то, что включает в себя эквивалентную команду связывания. Я пробовал очевидные, но наивные способы, например
add_executable(main main.cpp libbingitup.a)
или
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
а также различные вещи с link_directories(.)
или add_library(bingitup STATIC IMPORTED)
и т.д., но пока ничего не приводит к успешной увязке. Что я должен делать?
Сведения о версии: CMake 2.8.7 на Linux (Kubuntu 12.04) с GCC 4.6.3