美文网首页
CMakeLists.txt 的编写

CMakeLists.txt 的编写

作者: 沉睡的牛仔 | 来源:发表于2017-07-02 15:01 被阅读234次

入门级编写一——同一目录,单个文件

一个典型的CMakeLists.txt文件信息如下:

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
# 项目信息
project(test_cmake)
# 指定生成目标,test即为生成的可执行文件
add_executable(test test_cmake.c)

CMakeLists.txttest_cmake.c放在同一目录下。

建议:
在使用cmake命令前,在CMakeLists.txt所在的目录下先建一个build/的文件夹,进入build/文件夹,然后再bash命令行下输入:$ cmake ..回车,然后输入$ make,在build/文件夹下将有可执行文件test,然后运行$ ./test即可完成任务。

入门级编写二——同一目录,多个文件

CMakeLists.txt文件信息更改如下:

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)

# 项目信息
project(test_cmake)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS) #增加的部分

# 指定生成目标
add_executable(test ${DIR_SRCS})

入门级编写三——多个目录,多个文件

文件路径:

./Demo3
    |
    +--- main.cc
    |
    +--- math/
          |
          +--- MathFunctions.cc
          |
          +--- MathFunctions.h

对于这种情况,需要分别在项目根目录 Demo3 和 math 目录里各编写一个 CMakeLists.txt 文件。为了方便,我们可以先将 math 目录里的文件编译成静态库再由 main 函数调用.

根目录CMakeLists.txt文件信息更改如下:

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)

# 项目信息
project(test_cmake)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS) 

# 添加 math 子目录
add_subdirectory(math)

# 指定生成目标 
add_executable(test main.cc)

# 添加链接库
target_link_libraries(Demo MathFunctions)

子目录中的 CMakeLists.txt:

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_LIB_SRCS 变量
aux_source_directory(. DIR_LIB_SRCS)
# 生成链接库
add_library (MathFunctions ${DIR_LIB_SRCS})

在该文件中使用命令 add_library 将 src 目录中的源文件编译为静态链接库。

高级设置

暂时用不上,就先不研究了。研究了之后再更新

相关文章

  • CMakeLists.txt 的编写

    入门级编写一——同一目录,单个文件 一个典型的CMakeLists.txt文件信息如下: 将CMakeLists....

  • C++ 文件解析

    依赖gcc、 cmake 1. 代码编写 main.cpp 2. cmake 编写 CMakeLists.txt

  • C++ 文件读写操作

    依赖gcc、 cmake 1. 代码编写 main.cpp 2. cmake 编写 CMakeLists.txt ...

  • C++ helloworld 模板

    依赖gcc、 cmake 1. 模板编写 main.cpp 2. cmake 编写 CMakeLists.txt ...

  • Makefile 编写

    1. 原生 Makefile 自己编写 Makefile 文件 2. CMakeLists.txt 文件 CMak...

  • AS导入ffmpeg

    1、Android Studio 新建c++工程 2、为了方便编写CMakeLists.txt脚本的文件路径,把C...

  • Android 开发NDK的经验套用

    环境搭建 CmakeLists.txt 的编写,参考规则就好 注意路径 用好指令 引入库文件,注意静态库文件,和动...

  • CMake

    概述 CMake 是一种跨平台编译工具。 CMake 主要是编写 CMakeLists.txt 文件 然后用 cm...

  • C++ cmake CMakeLists.txt 编写

    Demo3文件目录如下(多个目录,多个文件) 对于这种情况,需要分别在项目根目录 Demo3 和 math 目录里...

  • CMake基础编译方式

    【1】CMake基础CMake是一种跨平台编译工具 CMake主要是编写CMakeLists.txt文件 通过cm...

网友评论

      本文标题:CMakeLists.txt 的编写

      本文链接:https://www.haomeiwen.com/subject/jsgncxtx.html