美文网首页
3.使用CMake构建项目

3.使用CMake构建项目

作者: Pokerpoke | 来源:发表于2017-05-27 17:17 被阅读0次

    关于CMake

    CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的语法。
    CMake Wiki

    安装CMake

    cmake包含在ubunu源中,直接apt安装即可

    sudo apt install cmake
    

    使用CMake

    网上下载的许多项目都需要CMake来编译,进入项目文件夹

    mkdir build
    cd build
    cmake ..
    make
    

    至此,已能运行,如果需要安装进系统中,则可以执行

    sudo make install
    

    使用CMake来构建项目

    使用CMake的目录结构可以如下,每个目录下均需要一个CMakeLists.txt文件:

    ---project
    ------lib
    ---------a.c
    ---------b.c
    ---------CMakeLists.txt
    ------include
    ---------a.h
    ---------b.h
    ---------CMakeLists.txt
    ---main.c
    ---CMakeLists.txt
    

    其中最上层CMakeLists.txt文件内容如下:

    #项目名称
    project(main)
    #需要的CMake最低版本
    cmake_minium_required(VERSION 2.6)
    #将目录下的所有文件名赋值给DIR_SRC变量
    aux_source_directories(. DIR_SRC)
    #添加include文件夹,存放头文件
    include_directories(include)
    #生成可执行文件
    add_executable(main ${DIR_SRC})
    #添加子目录
    add_subdirectory(lib)
    #将生成文件与动态库链接
    target_link_libraries(main test)
    

    /lib/CMakeLists.txt

    #赋值
    aux_source_directories(. DIR_TEST_DIR)
    #生成动态库,也可以生成静态库,暂时没用到,用到再研究
    add_library(test ${DIR_TEST_DIR})
    

    /include/CMakeLists.txt文件可以为空,有公共库可以用install {file name}来添加进系统。

    编译运行

    如果程序没有问题,通过上一步的编译即可在build文件夹下生成可执行文件main

    相关文章

      网友评论

          本文标题:3.使用CMake构建项目

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