c++ - cmakelists.txt - 结合现有的 Makefiles

标签 c++ makefile cmake

我是 CMakeLists.txt 的新手,它的语法很简单。

项目有两个子目录:A和B

A需要B的文件

B 已经有一个 CMakeLists.txt
A 只有一个Makefile。 A 不构建可执行文件;只是另一个单独项目的 .o(此文件夹是更大构建的一部分)。

我在父文件夹中创建了一个 CMakeLists.txt,但我不知道如何调用文件夹 A 中的 ma​​ke

父CMakeLists.txt

cmake_minimum_required (VERSION 3.2.3)
project(PARSER)

add_subdirectory(B)

add_custom_target(a-sub
   COMMAND "make"
   WORKING_DIRECTORY "./A")

当我构建它时,它在文件夹 B 中运行 make,但对文件夹 A 不执行任何操作。

关于如何进行的建议?


最初,我尝试将现有的(文件夹 A)Makefile 重写为 CMakeLists.txt,但没有成功。这个语法有点棘手。

最佳答案

我不认为混合使用 make 和 cmake 是个好主意。如果您不能将 A 转换为使用 cmake,那么我建议制作 A 和单独的项目。对 B 使用 cmake 并在某处安装 header 和库。然后使用 A 的 makefile 并将其指向安装 B 的位置。

关于c++ - cmakelists.txt - 结合现有的 Makefiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40314001/

相关文章:

c++ - Makefile 错误 - 找不到文件 - *.cpp

c++ - 使用 CMake 的 CTest 在 CLion 中运行测试

c++ - Eclipse 中的 Cmake 支持

c++ - 让预定义数量的线程计算更大数量的任务

c++ - 是可用于处理 UTF8 字符串的 C++ 字符串类吗?

c++ - c++的makefile的格式是什么

CMake 目标取决于已安装的目标

c++ - boost asio 超时

c++ - 使用 ifstream 读取 float

makefile - 你如何制作一个makefile