Повторное использование собственного make-файла для статической библиотеки с помощью cmake

Я предполагаю, что это будет общий вопрос о включении библиотек с существующими make-файлами в cmake; но вот мой контекст -

Я пытаюсь включитьscintilla в другом проекте CMake, и у меня есть следующая проблема:

В Linux scintilla имеет make-файл в (скажем)${CMAKE_CURRENT_SOURCE_DIR}/scintilla/gtk каталог; если вы бежитеmake в этом каталоге (как обычно), вы получите${CMAKE_CURRENT_SOURCE_DIR}/scintilla/bin/scintilla.a файл - который (я думаю) является статической библиотекой.

Теперь, если я попытаюсь использовать cmakeADD_LIBRARYМне бы пришлось вручную указать источники сцинтиллы в cmake - и я бы предпочел не связываться с этим, учитывая, что у меня уже есть make-файл. Так что я бы лучше назвал обычную сцинтиллуmake - а затем проинструктировать CMAKE как-то обратиться к полученномуscintilla.a, (Я думаю, что это тогда будетне обеспечить кросс-платформенную совместимость - но учтите, что в настоящее время кросс-платформенность для меня не проблема; Я просто хотел бы собрать сцинтиллы как часть этого проекта, который уже использует cmake, только в Linux)

 

Итак, я попробовал немного с этим:

ADD_CUSTOM_COMMAND(
  OUTPUT scintilla.a
  COMMAND ${CMAKE_MAKE_PROGRAM}
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/scintilla/gtk
  COMMENT "Original scintilla makefile target" )

... но затем add_custom_command добавляет "цель без выхода"; поэтому я пытаюсь использовать несколько подходов, которые все терпят неудачу (ошибки приведены как комментарий):

ADD_CUSTOM_TARGET(scintilla STATIC DEPENDS scintilla.a) # Target "scintilla" of type UTILITY may not be linked into another target.

ADD_LIBRARY(scintilla STATIC DEPENDS scintilla.a) # Cannot find source file "DEPENDS".

ADD_LIBRARY(scintilla STATIC) # You have called ADD_LIBRARY for library scintilla without any source files.
ADD_DEPENDENCIES(scintilla scintilla.a)

 

Я, очевидно, цитирую noob с помощью cmake - так возможно ли вообщеcmake запустить уже существующий make-файл и «перехватить» его выходной файл библиотеки, чтобы другие компоненты проекта cmake могли ссылаться на него?

Большое спасибо за любые ответы,
Ура!

 

РЕДАКТИРОВАТЬ: возможно дублировать:CMake: как мне зависеть от вывода из пользовательской цели? - Переполнение стека - однако, здесь, по-видимому, поломка связана с необходимостьюбиблиотека что остальная часть проекта cmake узнает ...

Еще один связанный:cmake - добавление пользовательской команды с именем файла в качестве цели - переполнение стека; тем не менее, он специально создает исполняемый файл из исходных файлов (чего я хотел избежать) ..

Ответы на вопрос(2)

Ваш ответ на вопрос