在CMake项目中指定项目依赖项

编程入门 行业动态 更新时间:2024-10-15 18:24:02
本文介绍了在CMake项目中指定项目依赖项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我刚开始在C项目中使用CMake进行构建.

I have just started using CMake for my builds on a C project.

我的项目目录结构如下:

My project dir structure looks like this:

MainProject module1/ src/ include/ CMakeLists.txt module1/ src/ include/ CMakeLists.txt .... moduleN/ src/ include/ CMakeLists.txt

目前,我正在正确地构建模块,但是,现在,我希望能够指定模块间的依赖关系,以便在创建模块时,将重新构建其所有依赖的模块(如果已更改).

At the moment, I am building my modules correctly, However, I now want to be able to specify intermodule dependencies so that when I make a module, all of its dependent modules are rebuilt (if changed).

我的CMakeLists.txt文件通常如下所示:

My CMakeLists.txt file typically looks like this:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT( basetypes ) FIND_PACKAGE( Threads ) SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-pthread") ADD_DEFINITIONS(-DE4C_THREADSAFE ) INCLUDE_DIRECTORIES ("include/") SET( basetypes_SRCS src/btypes_1.c src/btypes_2.c src/btypes_3.c src/btypes_4.c src/btypes_5.c src/vfuncs.c src/btypes_6.c src/btypes_7.c src/btypes_8.c src/btypes_8.c src/e4c.c ) ADD_LIBRARY(basetypes SHARED ${basetypes_SRCS}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "bin/")

如何修改此类CMakeLists文件以指定其他从属项目?

How can I modify such a CMakeLists file to specify other dependent project(s)?

推荐答案

尝试 target_link_libraries 命令.但是,它需要知道模块名称,所以我建议您编写一个全局CMakeLists文件,其中包含 add_subdirectory 命令.

Try target_link_libraries command. However, it need to know module names, so I've suggest you to write one globale CMakeLists file, that include modules by add_subdirectory command.

更多推荐

在CMake项目中指定项目依赖项

本文发布于:2023-11-09 04:35:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1571420.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:项目   CMake

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!