Cmake-让一个子目录使用自己的makefile

cmake -- let a subdirectory use its own Makefile

本文关键字:子目录 自己的 makefile 一个 Cmake-      更新时间:2023-10-16

我有一个主要使用cmake的项目。

但是,第三方/传统库中有一个子目录。它具有一个将自身编译为3rd_party.a库文件中的makefile。

我自己的cmakelists.txt能否设法调用makefile,生成其3rd_party.a库,然后让我的代码链接到它?我不想将其遗产伪像改编成cmakelists.txt

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

谢谢!

相关: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)

这应该足以让您离开地面。