持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情
一、CMakeLists.txt 常用命令总结
1. command (args ...)
- command:命令的名字
- args: 参数列表。多个参数使用空格隔开。
2. cmake_minimum_required
-
含义
设置项目要求的CMake最低版本号
-
示例
cmake_minimum_required(VERSION 2.8)
3. add_executable
- 含义 使用指定的源文件给项目添加一个可执行文件
- 格式
add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] source1 [source2 ...]) - 参数介绍:
- name:该命令调用列出的源文件来构建的可执行目标。 对应于逻辑目标名称,在项目中必须是全局唯一的。构建的可执行文件的实际文件名是基于本机平台的约定。
- WIN32:如果给出WIN32,则在创建的目标上设置属性WIN32_EXECUTABLE。
- MACOSX_BUNDLE:如果给定MACOSX_BUNDLE,将在创建的目标上设置相应的属性。
- EXCLUDE_FROM_ALL:如果给定EXCLUDE_FROM_ALL,将在创建的目标上设置相应的属性。
- source:源码列表。
- 示例
add_executable (CMakeClient0331 "CMakeClient0331.cpp" "CMakeClient0331.h")
4. project
-
含义
为整个工程设置一个工程名
-
格式
project (<PROJECT-NAME> [LANGUAGES] [<language-name>...]) project (<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]] [LANGUAGES<language-name>...]) -
参数介绍:
二、cmake 命令
生成一个项目的构建系统
cmake [<options>] <path-to-source>
cmake [<options>] <path-to-existing-build>
cmake [<options>] -S <path-to-source> -B <path-to-build>
使用 <path-to-build> 作为构建树,使用 <path-to-source> 作为源树。指定的路径可以是绝对路径,也可以是相对于当前工作目录的路径。源树必须包含一个CMakeLists.txt文件。如果构建树还不存在,将自动创建它。例如:
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
Build a Project
cmake --build <dir> [<options>] [-- <build-tool-options>]
Install a Project
cmake --install <dir> [<options>]
Open a Project
cmake --open <dir>
Run a Script
cmake [{-D <var>=<value>}...] -P <cmake-script-file>
Run a Command-Line Tool
cmake -E <command> [<options>]
Run the Find-Package Tool
cmake --find-package [<options>]
View Help
cmake --help[-<topic>]
三、跨平台 C++ 库管理工具: vcpkg 安装
1. 使用 gitbash 下载vcpkg
git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh #powershell上使用:.\bootstrap-vcpkg.bat
2. 使用 powershell 安装您的项目所需要的库:
进入vcpkg目录
cd vcpkg
安装库
.\vcpkg install [packages to install]
安装一个库,这里以之前提到过的 eigen3 为例
.\vcpkg install eigen3
3. 查看当前安装的库支持的平台
./vcpkg help triplets
4. 移除一个已经安装的库
.\vcpkg.exe remove eigen3
5. 使用 search 子命令来查找vcpkg中集成的库:
.\vcpkg search [search term]
6. 集成到全局
Vcpkg提供了一套机制,可以全自动的适配目录,而开发者不需要关心已安装的库的目录在哪里,也不需要设置[ 比如这里我需要在 Visual Studio 中使用 vcpkg,所以也需要运行以下命令 (首次启动需要管理员权限)]
.\vcpkg integrate install
CMake需要使用,记住下面的这个路径,在使用cmake构建的时候需要使用 CMAKE——TOOLCHAIN_FILE传入
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
也就是
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build -DCMAKE——TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
7. 若要移除集成
.\vcpkg integrate remove
linux上可以参考 blog.csdn.net/sexyluna/ar…
8. 查看安装列表
.\vcpkg list
9. 应用
cmake -S . -B build -DCMAKE--TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
10. 其他跨平台C++库管理 conan
-
安装 python 略过,安装成功后可以查看版本
python --version -
安装python的时候会自动安装pip
pip install conan