目录一、cmake模板二、参数设置三、命令解释3.1 find命令3.2 file 执行与文件和目录相关的操作3.3 自定义命令3.4 配置文件四、自动化测试五、安装5.1 Linux的rpath机制5.2 CMAKE_INSTALL_RPATH的使用案例5.3 CMAKE_BUILD_RPATH的
本文会给出一种我自己在企业级项目中使用的 CMake 管理 C/C++ 项目的模板。包含构建库、构建可执行程序,对归档文件进行打包,做成 DEB 或者 RPM 安装包。 现在没有加单元测试,后续我会加上,还有代码扫描,代码…
message(STATUS"Configuring${PROJECT_NAME}ffmpeg6.1")#使用find_package引入ffmpeg#list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)#find_package(ffmpeg REQUIRED GLOBAL)#if(ffmpeg_FOUND)# include_directories(${ffmpeg_INCLUDE_DIRS})#endif()#接口库的方式导入ffmpegif(NOT ANDROID)set(FFMPEG_L...
这里其实是用set给默认变量CMAKE_CXX_STANDARD & CMAKE_C_STANDARD 赋值。 */ set(CMAKE_CXX_STANDARD 14) # C++14 /* 设置工程名字 这个应该可以必选项。工程名后面可选 加 语言类型。 指定的工程名,在后面可以通过变量${PROJECT_NAME}获取此值。 project(HelloWorld CXX) # 可选指明是C++ project(HelloWo...
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) endif() #检测当前项目是否为主项目 #检查变量 FMT_MASTER_PROJECT 是否已定义,如果未定义,则将其设置为 OFF if (NOT DEFINED FMT_MASTER_PROJECT) set(FMT_MASTER_PROJECT OFF) ...
├── CMakeLists.txt# 项目cmake配置 ├── extern_dep.cmake# 项目依赖库配额 ├── .gitignore# git忽略配置 ├── .gitlab-ci.yml# gitlab ci配置 └── README.md# readme文件 二、文件内容 1. 编译脚本 build_x86_ubuntu.sh
CMake模板 说明 项目目录结构基于 根据需求移除部分文件的编译按照功能将不同的文件放在不同的文件夹中,如果编译时不需要该功能可直接排除该文件夹中的所有文件 根据需求设置编...
cmake模板(交叉编译C/C++) 1.CMakeLists.txt #声明cmake的最低版本要求(必须) cmake_minimum_required(VERSION 3.10) #声明一个cmake工程 TTU PROJECT(TTU) #设置APP名称 set(APP CPlusPlus) #设置目标系统名…
使用这个cmake模板之后,代码的结构非常的清晰,编译过程中产生的中间文件也不会污染源代码。 无论是开发一些个人项目,或者是在一些小团队中使用是绰绰有余了。 示例代码中核心的两个文件就是:app.cmake和lib.cmake,几乎每一行都有注释。 文件目录说明
由于目前写的一些c/c++程序需要考虑跨平台,并且我目前接触的主要是cmake,并且比较常见交叉编译方式,所以这里总结了一个个人比较常用的交叉编译模板,后续一些工程可以拿来直接修改使用,算是比较方便,防止长时间不接触cmake又忘记了。 此外,建议markdown支持一下cmake的高亮!