【问题标题】:cmake -- let a subdirectory use its own Makefilecmake -- 让子目录使用自己的 Makefile
【发布时间】:2015-07-20 17:14:26
【问题描述】:

我有一个主要使用 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

谢谢!

【问题讨论】:

    标签: c++ linux makefile cmake


    【解决方案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)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 2013-08-23
      • 2011-05-01
      • 1970-01-01
      • 2011-12-23
      相关资源
      最近更新 更多