1.概要
2.内容
1.ubuntu安装cmake
在Ubuntu系统上安装CMake有多种方法,每种方法都有其特点和适用场景。以下是一些常见且简便的安装方法:
一、使用APT包管理器安装
这是最简单直接的方法,但通过这种方式安装的CMake版本可能不是最新的。
-
更新软件包列表:
sudo apt update
-
安装CMake:
sudo apt install cmake
-
验证安装:
cmake --version
如果安装成功,将显示CMake的版本信息。
二、通过添加PPA源安装最新版本
如果你需要安装最新版本的CMake,可以通过添加CMake官方PPA源来实现。
-
添加签名密钥:
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
-
将存储库添加到源列表并进行更新:
以Ubuntu 18.04为例,可以执行以下命令:sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update
请注意,对于不同版本的Ubuntu,存储库URL中的
bionic
可能需要替换为对应的发行版代号,如focal
(Ubuntu 20.04)、hirsute
(Ubuntu 21.04)等。 -
安装CMake:
sudo apt install cmake
三、从源代码编译安装
如果你需要最新版本的CMake或者想要自定义编译选项,可以选择从源代码编译安装。
-
安装编译所需的依赖包:
sudo apt update
sudo apt install build-essential libssl-dev
-
下载CMake的源代码:
访问CMake官网,下载指定版本的源码压缩包。例如:wget https://cmake.org/files/v3.24/cmake-3.24.1.tar.gz
-
解压源代码包并进入解压后的目录:
tar -zxvf cmake-3.24.1.tar.gz
cd cmake-3.24.1
-
执行bootstrap脚本进行检查:
./bootstrap
-
编译CMake:
make -j$(nproc)
这里使用
-j$(nproc)
选项表示使用所有可用核心进行编译,以加快编译速度。 -
安装CMake:
sudo make install
-
验证安装:
cmake --version
四、使用预编译的二进制文件安装
如果APT源中提供的CMake版本不满足需求,且你不想从源代码编译安装,还可以从CMake官网下载预编译的二进制文件进行安装。
-
访问CMake官网下载预编译的二进制文件:
选择合适的版本和架构进行下载。 -
如果是
.sh
文件,直接运行它来安装:chmod +x cmake-*-Linux-x86_64.sh
./cmake-*-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
注意:
--prefix
选项指定了安装目录,你可以根据需要更改它。 -
如果是
.tar.gz
文件,解压后将bin目录添加到你的PATH环境变量中:tar -zxvf cmake-*-Linux-x86_64.tar.gz -C /opt
export PATH=/opt/cmake-*/bin:$PATH
source ~/.bashrc
-
验证安装:
cmake --version
通过以上任一方法,你都可以在Ubuntu系统上成功安装CMake。根据你的具体需求和系统环境选择合适的方法进行安装即可。
2.cmake支持安装
CMake确实支持安装功能,这允许开发者指定项目的安装规则,包括安装库文件、可执行文件和头文件等。以下是对CMake安装功能的详细解析:
一、安装命令
CMake使用install
命令来指定安装规则。该命令非常灵活,可以安装多种类型的目标,如构建目标(可执行文件、库文件等)、文件、程序、目录等。install
命令的基本格式如下:
install(TARGETS <target>... [...])
install({FILES | PROGRAMS} <file>... [...])
install(DIRECTORY <dir>... [...])
install(SCRIPT <file> [...])
install(CODE <code> [...])
install(EXPORT <export-name> [...])
二、安装构建目标
对于构建目标(如可执行文件、静态库、动态库等),可以使用install(TARGETS ...)
命令来指定安装规则。例如:
install(TARGETS my_executable my_static_lib my_shared_lib
RUNTIME DESTINATION bin # 可执行文件的安装路径
LIBRARY DESTINATION lib # 动态库的安装路径
ARCHIVE DESTINATION lib) # 静态库的安装路径
三、安装目录
如果需要将头文件或其他文件目录安装到特定路径,可以使用install(DIRECTORY ...)
命令。例如:
install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") |
这会将源目录中的include/
目录安装到由CMAKE_INSTALL_INCLUDEDIR
指定的路径。
四、安装文件和程序
对于单独的文件或程序,可以使用install(FILES ...)
或install(PROGRAMS ...)
命令。例如:
install(FILES config.h README.md DESTINATION include)
install(PROGRAMS my_tool DESTINATION bin)
五、自定义安装脚本和代码
CMake还允许在安装过程中执行自定义脚本或CMake代码。这可以通过install(SCRIPT ...)
或install(CODE ...)
命令实现。例如:
install(SCRIPT post_install.cmake)
install(CODE "MESSAGE(\"Custom installation code executed.\")")
六、执行安装
在配置和生成项目后,可以使用cmake --build . --target install
命令来执行安装过程。这将根据install
命令指定的规则将文件安装到目标路径。
七、注意事项
- 在使用绝对路径进行安装时,请确保该路径对所有用户都是可访问的,并且符合系统的权限要求。
- CMake的安装功能非常强大且灵活,但也需要仔细配置以确保安装规则符合预期。
综上所述,CMake通过install
命令提供了强大的安装功能,支持安装构建目标、文件、程序、目录等,并且允许在执行安装过程中执行自定义脚本或CMake代码。这为开发者提供了极大的便利,使得项目的部署和分发变得更加简单和高效。