如何在CMakeLists.txt中指定CMake的安装路径

You*_*ang 3 c++ linux cmake

我从官方站点下载了便携式CMake版本,并将其安装在我的主目录中?~/usr),因为我没有root或sudo权限。

如何在CMakeLists.txt中指定CMake的安装路径,例如~/usr/cmake-path/bin/cmake

注意:我不想在Linux系统上使用默认版本的CMake,因为它太旧了(2.6版)

PS:

我知道CMAKE_COMMAND可能对我的问题有用的变量,但我不知道如何使用它!

jms*_*ker 6

我觉得一个更可靠的解决方案是将cmake路径添加到PATH环境变量中。

export PATH=~/usr/cmake-path/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

如果您在Ubuntu / Debian系统上,则可以将此命令添加到〜/ .bashrc中,以在每个终端会话中执行该命令。请注意,此更改只会影响您的帐户,您可以在没有管理员权限的情况下进行设置。

这样,您只需键入cmake,就会首先找到所需的版本。


Com*_*sMS 4

CMake 将使用正在运行的 CMake 可执行文件所在的任何路径。此外,如果您在运行之间切换路径而不清除缓存,则可能会感到困惑。

因此,您要做的只是运行 ,而不是cmake <path_to_src>从命令行运行~/usr/cmake-path/bin/cmake <path_to_src>

您可能想向路径中添加一个别名或 shell 脚本,这样您就可以更方便地输入(因此您只需输入my_cmake <path_to_src>或类似的内容)。

请注意,没有简单的方法可以通过编辑CMakeLists.txt. 虽然理论上您可以让 CMake 2.6 运行一个外部 CMake 脚本,该脚本除了从 3.0 可执行文件运行内部 CMake 脚本之外什么都不做,但这只是一个肮脏的黑客行为。只需从命令行运行正确的可执行文件就可以了。