CMake】CMakeLists.txt个人近期学习梳理
参考来源:
【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)
[ROS入门之CmakeList.txt详讲------>孟德尔的猫
本文为近期学习cmake的一点总结,基础知识还是主要参考以上链接。
1.直接以实例进行说明:
1.1源文件混在了底层文件目录中,如下面example项目例子的树结构图:
. #根目录
├── CMakeLists.txt
├── example_person.cpp #主函数
├── protobuf
│ ├── bin
│ ├── include
│ └── lib
├── proto_buf #头文件目录
│ ├── General_buf_read.h
│ └── General_buf_write.h
└── proto_pb2 #子目录
├── CMakeLists.txt
├── Person.pb.cc
└── Person.pb.h
分析:
目录结构含义:
protobuf:提供的相关解析库和头文件,被proto_pb2文件夹内引用,生成库文件和头文件的存放地址,bin文件夹存放生成的可执行文件,include文件夹存放头文件,lib存放生成的库文件。
proto_buf:主函数example_persom.cpp文件引用封装在该文件夹下的read和write函数头文件。
proto_pb2:被proto_buf文件夹内引用;
步骤:
CMakeLists.txt的创建
对含有.cpp/.c/.cc的文件夹必须编写CMakeists.txt文件
对于本结构,必须在proto_pb2和项目根目录两处地方编写cmake文件。
CMakeLists.txt的编写
通常一个CMakeLists.txt需按照下面的流程:
project(xxx) #必须
add_subdirectory(子文件夹名称)<