gpt4 book ai didi

c++ - cmake -- 让一个子目录使用它自己的 Makefile

转载 作者:IT王子 更新时间:2023-10-29 00:21:32 25 4
gpt4 key购买 nike

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

但是,有一个来自第 3 方/遗留库的子目录。它有一个 Makefile,可以将自身编译成 3rd_party.a 库文件。

我自己的 CMakeLists.txt 能否调用该 Makefile,生成其 3rd_party.a 库,并让我的代码链接到它?我不想将其遗留的 Makefile 改编成 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)

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

关于c++ - cmake -- 让一个子目录使用它自己的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30146678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com