该文件添加了下面的内容:add_subdirectory指明本项目包含一个子目录 math,这样 math 目录下的 CMakeLists.txt 文件和源代码也会被处理 。使用命令target_link_libraries指明可执行文件 main 需要连接一个名为 MathFunctions 的链接库 。 子目录中的 CMakeLists.txt: # 查找当前目录下的所有源文件 # 并将名称保存...
先创建目标,再添加源文件 add_executable(main)target_sources(main PUBLIC main.cpp) 多个.cpp源文件的情况 . ├── CMakeLists.txt├──main.cpp├── other.cpp└── other.h 使用target_sources直接添加 逐个添加即可: add_executable(main)target_sources(main PUBLIC main.cpp other.cpp) 通过设定变量...
对于不同文件夹下的多个源文件,主要是使用include_directories来添加头文件的搜索目录 cmake_minimum_required (VERSION 2.8)project (sum_test)include_directories (func)add_executable(sum_test main.c func/sum.c) 1. 2. 3. 4. 5. 6. 7. 另外,仍然可以借助aux_source_directory把...
如果在同一目录下有多个源文件,那么只要在add_executable里把所有源文件都添加进去就可以了。但是如果有一百个源文件,再这样做就有点坑了,无法体现cmake的优越性,cmake提供了一个命令可以把指定目录下所有的源文件存储在一个变量中,这个命令就是 aux_source_directory(dir var)。
多个源文件,并添加额外的包含路径: https://github.com/zswzy/MyStep/tree/main/MyStep3github.com/zswzy/MyStep/tree/main/MyStep3 添加链接库: MyStep/Mystep5 at main · zswzy/MyStepgithub.com/zswzy/MyStep/tree/main/Mystep5
多个源文件,多个目录 现在进一步将MathFunctions.c和MathFunctions.h文件移到math目录下: ./Demo3 | +--- main.c | +--- math/ | +--- MathFunctions.c | +--- MathFunctions.h CMakeLists.txt编写 这种情况下,需要在根目录Demo3和子目录math下各写一个CMakeLists.txt文件。为了方便,可以将math目录...
# 添加子目录 ADD_SUBDIRECTORY(src) src目录下的CMakeLists.txt内容如下: message(STATUS "src This is BINARY dir " ${PROJECT_BINARY_DIR}) message(STATUS "src This is SOURCE dir " ${PROJECT_SOURCE_DIR}) # 定义源文件列表 set(SRC_LIST main.cpp) ...
可以看到各个源文件目录所需要的CMakeLists.txt文件现在已经添加完毕了。接下来庖丁解牛,我们依次分析一下各个文件中需要添加的内容。 1.1 准备工作 1.1.1 节点关系 众所周知,Linux的目录是树状结构,所以嵌套的 CMake 也是一个树状结构,最顶层的 CMakeLists.txt 是根节点,其次都是子节点。因此,我们需要了解一些关...
CMakeLists.txt: # ---project目录--- # # |-- bin # |-- lib # |-- main.c # |-- ...