Cmake 使用教程

                                                                           Cmake 使用教程      
CMake是一个比make更高级的编译配置工具。它可以根据不同平台、不同的编译器,生成相应的 Makefile 或者 vcproj 项目。
通过编写CMakeLists.txt,可以控制生成的 Makefile,从而控制编译过程。
CMake 自动生成的 Makefile 不仅可以通过 make 命令构建项目,生成目标文件,还支持 :
1. 安装(make install)、
2. 测试安装的程序是否能正确执行(make test,或者ctest)、
3. 生成当前平台的安装包(make package)、
4. 生成源码包(make package_source)、
5. 产生 Dashboard 显示数据并上传等高级功能,
6. 只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。
7. 如果有嵌套目录,子目录下可以有自己的 CMakeLists.txt。
总之,CMake是一个非常强大的编译自动配置工具,支持各种平台,KDE 也是用它编译的,感兴趣的可以试用一下。
// ----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
我们需在 CMakeLists.txt 文件中指定如下几项,cmake版本、工程名、构建目标app的源文件
(1)cmake 版本:  cmake_minimum_required(VERSION 3.11)
(2)指定工程名:project(My_project_Yuejie)
(3)指定安装目录:set(CMAKE_INSTALL_PREFIX "/usr/local/yzhang")
(4)设置 C++ standard :set(CMAKE_CXX_STANDARD 11);set(CMAKE_CXX_STANDARD_REQUIRED ON)
(5)add_subdirectories :添加外部项目文件夹
(6)include_directories :将指定目录添加到编译器的头文件搜索路径之下
(7)“CMAKE_SOURCE_DIR” :是指定义了顶级 CMakeLists.txt 的文件夹
(8)“cmake_c_flags” “cmake_cxx_flags”:用来设置编译选项
         -Wall : ??
         -Wextra: ??
         -ggdb: ??
         -Wno-missing-field_initializers : ??
(9) list : (1)LENGTH 返回list的长度  (2)GET  返回list中index的element到value中
                    (3)APPEND 添加新element到list中    (3)FIND 返回list中element的index,没有找到返回-1
                    (4)INSERT 将新element插入到list中index的位置    (5)REMOVE_ITEM 从list中删除某个element
                    (6)REMOVE_AT 从list中删除指定index的element 
                    (7)REMOVE_DUPLICATES       从list中删除重复的element
                    (8)REVERSE 将list的内容反转 (9)SORT  将list按字母顺序排序

(10)option : 添加编译选项。

(11)add_excutable:使用指定的源文件来生成目标可执行文件

(12)

posted @ 2021-03-02 15:48  小坏孩_999  阅读(418)  评论(0)    收藏  举报