Я только начинаю с cmake и пытаюсь настроить довольно простой проект.Хотя сам проект прост, он ссылается на ряд статических библиотек, которые не созданы cmake.Полагаю, они могут быть - это мои библиотеки - но мне все равно нужно разобраться, как ссылаться на сторонние библиотеки.
Вот что у меня есть ...
cmake_minimum_required(VERSION 2.8.1)
cmake_policy(VERSION 2.8.1)
project( test01 )
include_directories("../../cpplib/sh_core" "../../cpplib/sh_core2" "../../cpplib/sh_genlib")
link_directories("../../cpplib/_vc_debug")
add_library( sh_core STATIC IMPORTED )
add_library( sh_core2 STATIC IMPORTED )
add_library( sh_genlib STATIC IMPORTED )
add_executable( test01 test01 test01_ast test01_parse test01_scan test01_main )
target_link_libraries(test01 sh_core sh_core2 sh_genlib)
Проблема в том, что на три библиотеки, на которые я пытаюсь ссылаться, нет правильной ссылки в сгенерированном файле проекта.Они перечислены как sh_core-NOTFOUND
, sh_core2-NOTFOUND
и sh_genlib-NOTFOUND
.
Я думаю возможно, мне не нужен link_directories
сверху, но мне нужен find_library
команда.Но я быстро взглянул на эту команду в документации и ... WTF !!!У меня уже есть головная боль, и я действительно не могу справиться с этой массой, казалось бы, избыточной сложности банкомата.Кроме того, видя такую большую сложность для чего-то, что должно быть совершенно простым, можно предположить, что я ищу не в том месте.
Итак ... как мне сказать cmake, где найти эти библиотеки?
Дополнительный вопрос - как мне это настроить, чтобы сгенерированный проект обрабатывал как отладочную сборку, так и сборку выпуска?Примечание. Версии выпуска импортированных библиотек имеют те же имена файлов, но находятся в папке "../../cpplib/_vc_release".