У меня есть небольшой проект с Makefile, который я пытаюсь преобразовать в CMake, в основном, чтобы получить опыт работы с CMake. Для целей этого примера проект содержит исходный файл (C ++, хотя я не думаю, что этот язык особенно актуален) и файл статической библиотеки, который я скопировал из другого места. В качестве аргумента предположим, что исходный код библиотеки недоступен; У меня есть только файл .a и соответствующий заголовок.
Мой Makefile, сделанный вручную, содержит это правило сборки:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
который отлично работает. Как мне сказать CMake воспроизвести это? Не буквально, конечно, этот make-файл, но что-то, что включает эквивалентную команду связывания. Я пробовал очевидные, но наивные способы, например
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