ubuntu Cmake使用,项目分路径安装等

本文档主要记录笔者使用cmake过程中编写CmakeLists.txt内涉及到的指令及其代表含义。

project(fakedu)

cmake_minimum_required(VERSION 3.0)

set( CMAKE_CXX_FLAGS "-std=c++11" ) 
set( PROJECT_SOURCE_DIR /home/grand/workarea/fake-dus/grand-fake-dus/ )
set( SRC_LIST
            ./fakeDU-src/message.cpp
            ./fakeDU-src/message_impl.cpp
            ./fakeDU-src/grand-virtual-du.cpp
            ./fakeDU-src/grand-virtual-du1.cpp )
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}fakeDU-app)

LINK_DIRECTORIES(/home/grand/pc_installed/lib)

INCLUDE_DIRECTORIES(/home/grand/pc_installed/include)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}fakeDU-src)

aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST)

add_executable(fakedu1 ${SRC_LIST})

TARGET_LINK_LIBRARIES(fakedu1 libzmq.so)

一些代码注解

  1. TARGET_LINK_LIBRARIES(fakedu1 libzmq.so)
    TARGET_LINK_LIBRARIES(fakedu1 libzmq.so)
    
    目标链接库需要放在add_executable之后,逻辑上需要加在编译的可执行项目后,尽量书写全称,书写全称可避免动态库和静态库的区分。
  2. SRC_LIST
    实例中的程序SRC_LIST代表了编译项目所需要的所有源cpp文件。
    aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST)
    
    使用的aux_source_directory表示告诉编译器去哪里找到编译项目所需要的源程序。
  3. INCLUDE_DIRECTORIES
    告诉编译器所需要的头文件的所在位置,一般用外部链接库时需要额外添加
### 在Ubuntu操作系统中安装CMake #### 使用官方软件库安装较低版本的CMake 可以直接利用`apt`包管理器来快速部署CMake环境,不过这种方法通常只会提供相对旧一些的稳定版本。 ```bash sudo apt update && sudo apt install cmake ``` 此方法简单快捷,适合不需要特定新功能的一般用途[^1]。 #### 通过源码编译安装最新版CMake 为了获取最新的特性支持或是更稳定的性能表现,则推荐采用从源码构建的方式来安装更高版本的CMake。在此之前,确保已经配置好了合适的APT仓库地址(比如阿里云),以便顺利下载所需的依赖项如g++、make等开发工具链。 ##### 准备工作 更新本地软件索引并安装必要的编译工具: ```bash sudo apt-get update sudo apt-get install -y build-essential libssl-dev ``` ##### 下载与解压CMake源码 访问[CMake官方网站](https://cmake.org/download/)找到适用于当前系统的tarball压缩包链接;也可以直接使用wget命令在线获取指定版本号对应的资源文件。这里以3.20为例说明具体过程[^2]。 ```bash cd /tmp/ wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz tar xf cmake-3.20.0.tar.gz cd cmake-3.20.0/ ``` ##### 编译并安装 按照常规流程执行configure脚本生成Makefile之后再调用make来进行实际编译工作,最后一步则是把最终产物放置到系统路径当中去。 ```bash ./bootstrap --prefix=/usr/local make -j$(nproc) sudo make install ``` 这样就完成了基于源码方式的新版CMake安装全过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值