cmake-пусть подкаталог использует свой собственный файл Makefile

У меня есть проект, который в основном использует CMake.

однако существует подкаталог из библиотеки 3rd party / legacy. Он имеет Makefile, который будет компилироваться в 3rd_party.файл библиотеки.

могут мои собственные CMakeLists.txt удается вызвать этот файл Makefile, сгенерировать его 3rd_party.библиотека, и пусть мой код связывается с ней? Я не хочу адаптировать его наследие Makefile в CMakeLists.txt

├── my_source_folder_1
├── my_source_folder_2
├── CMakeLists.txt
├── 3rd_party
│   ├── 3rd_party_source
│   ├── 3rd_party_make
│   |   ├── Makefile

спасибо!

1 ответов


связанный:http://www.cmake.org/pipermail/cmake/2010-November/040631.html

из приведенной выше ссылки кажется, что вы можете использовать специальную команду, чтобы описать, как CMake должен сделать цель:

add_custom_target(
   extern_lib
   COMMAND make
   WORKING_DIRECTORY full_path to where Makefile is located
)
add_executable(myexecutable myexcutable.c)
target_link_libraries(myexecutable full_path_to_generated_library)
add_dependencies(myexecutable extern_lib)

этого должно быть достаточно, чтобы оторваться от Земли.