CMakeLists创建实用程序库

时间:2018-12-29 05:22:37

标签: c cmake static-libraries

我正在学习如何使用CMake创建静态库并与他们共享项目中的其他模块。该项目的结构如下:

  root
    |
    |__ util
    |     |
    |     |__ CMakeLists.txt
    |
    |__ execution
    |     |
    |     |__ CMakeLists.txt
    |
    |__ logic
    |     |
    |     |__ CMakeLists.txt
    |
CMakeLists.txt

因此,我有一个util模块,其中包含一些应由其他模块(executionlogic)使用的实用程序结构和功能。我有2个误解:

I。仅将util模块的标题添加到root/CMakeLists.txt中的include路径,然后静态链接util是否合适?当前util/CMakeLists.txt是以下内容:

add_library(util src/util.c)

II。如果util库不包含源文件,而仅包含其他模块使用的通用数据结构和定义,我们如何添加它?我试图写util/CMakeLists.txt

add_library(util)

,然后在root/CMakeLists.txt

include_directories("${PROJECT_SOURCE_DIR}/util/include")
add_subdirectory(util)

但这没用。

You have called ADD_LIBRARY for library util without any source files. 
This typically indicates a problem with your CMakeLists.txt file

0 个答案:

没有答案