使用 cmake 构建具有一个目标名称的库和多个可执行文件

use*_*345 3 cmake

我目前正在努力从内部构建系统迁移到 cmake,到目前为止我很享受。

我们的源代码被分解为离散的命名组件。这些组件通常会构建一个库和一组可执行文件。我已经使用基础 CMakeLists.txt 设置了 cmake,然后在每个代码组件中创建了一个 CMakeLists.txt,然后包含在基础中。组件 CMakeLists.txt 中有多个目标,一个用于库,然后是可变数量的可执行文件。

使用我们当前的系统,您可以输入以下内容:

制作组件名称

这将构建一个库和任何与 component_name 关联的可执行文件。cmake 可以实现类似的功能吗?我可以使用一个名称在 CMakeLists.txt 文件中构建所有目标吗?

Pet*_*ter 5

首先定义一个自定义目标,然后定义目标的依赖项:

ADD_CUSTOM_TARGET(component_name)
ADD_DEPENDENCIES(component_name lib1 lib2 exe1 exe2)
Run Code Online (Sandbox Code Playgroud)