//Build Qt dialog for CMake
BUILD_QtDialog:BOOL=ON
QT_QMAKE_EXECUTABLE:FILEPATH=<path to Qt>/<qt version>/gcc_64/bin/qmake
//The directory containing a CMake configuration file for Qt5Core.
Qt5Core_DIR:PATH=<path to Qt>/<qt version>/gcc_64/lib/cmake/Qt5Core
//The directory containing a CMake configuration file for Qt5Widgets.
Qt5Widgets_DIR:PATH=<path to Qt>/<qt version>/gcc_64/lib/cmake/Qt5Widgets
//The directory containing a CMake configuration file for Qt5.
//FYI: This folder should contain a file named Qt5Config.cmake
Qt5_DIR:PATH=<path to Qt>/<qt version>/gcc_64/lib/cmake/Qt5
这里有两个选项:
cmake-gui
被打包为cmake-qt-gui。安装它:如果您确实需要从源代码构建它,请执行以下操作:
没有其他东西依赖于 cmake(可能),所以它是一个叶节点。卸载deb。从https://cmake.org/获取最新源并在某处解压缩 tarball,cd 进入其中。
假设你安装了 QT 开发的东西。你最终会得到常规的命令行 cmake 和 cmake-qui。通过键入 cmake 或 cmake-gui 从命令行启动它们,我不知道添加到菜单。
在 ubuntu 18.04 LTS 上使用 cmake 3.20.1 测试
编译前检查 Qt5 的安装(sudo apt install qt5-default)
如果您已经有较低版本的 cmake
否则,如果您的系统中没有 cmake
万一您因为 QT5 小部件的问题而无法构建 cmake-gui,请尝试以下操作:
apt install qt5-default
过程
在这个特定的过程中,我决定使用 apt 版本的 cmake 配置最新版本的 cmake(如果这令人困惑,请原谅)。
cmake-gui 与 cmake 命令行工具使用相同的存储库进行编译,但 cmake 的默认构建配置未设置为构建 cmake-gui(无论是 curses 界面还是 Qt 界面)。
要使用 cmake-gui 构建 cmake,需要在 cmake 构建脚本中设置一些变量。您通常可以通过 UI 执行此操作,但也可以通过手动编辑构建目录中的 CMakeCache.txt 来设置这些变量,这就是我将在此答案中展示的方法。
CMake 需要 Qt,但它无法自动找到它,我们需要做的一件事是显示 Qt CMake 脚本的位置。
1.安装Qt(如果你还没有的话)
从Qt 的网站下载安装程序。就我而言,我选择了最新版本的 5.12(在撰写本文时为 5.12.7)并使用所有默认设置安装它。
您需要在 Qt 上注册一个帐户才能使用此方法下载安装程序;该帐户对开源用户是免费的(如果您使用它来构建供自己使用的 cmake,那么您就是;如果您打算将 Qt 用于其他任何用途,则应验证是否可以使用此版本)。
我将 Qt 安装到我的主目录中名为 Qt 的文件夹中。
此安装过程需要一段时间。
我认为 Qt 可能可以通过 apt 获得,但出于我的目的,我需要另一个项目的完整下载,所以无论如何我都在这里。
2. git 将 cmake 源代码从他们的git 存储库克隆到某个地方(例如,您的主目录)。
git clone https://gitlab.kitware.com/cmake/cmake.git
3.制作一个构建目录
除其他外,这将在您的构建文件夹中放置一个名为 CMakeCache.txt 的文件。
4.编辑CMakeCache.txt配置ui
在你的文本编辑器中打开这个文件,并编辑以下行以启用 qt ui(我通过搜索 qt 找到了这些)。
请注意,您需要替换为 qt 目录所在的位置,在我的情况下只是
/home/jrh/Qt5.12.11
.例如,我的 Qt5Core_DIR 目录(运行 Qt 5.12.11)是
/home/jrh/Qt5.12.11/5.12.11/gcc_64/lib/cmake/Qt5Core
我建议不要使用相对路径或 ~.
5.在build目录下重新运行cmake..
6.编译cmake(在build目录下)
其中 N 是您要编译的内核数,在我的例子中,我输入了
make -j10
.7.安装构建好的cmake
8. 最终操作
sudo make install
不幸的是,它不会替换存储在 /usr/bin 中的 cmake 版本。可能有更简洁的方法来完成此步骤。
用于
cmake --version
验证您是否需要执行此操作,如果它提供了 apt 附带的版本(对我而言,在撰写本文时为 3.10.2),您将需要执行此操作。您还应该验证您的 cmake 版本是否在 /usr/local/bin/
我需要执行以下操作:
重命名apt安装的cmake二进制文件
将我们构建的 cmake 版本链接到 /usr/bin/
我没想到需要将新版本的 cmake 链接到 /usr/bin/,因为 /usr/local/bin 应该在 PATH 中;出于某种原因,它会固执地只在 /usr/bin 中查找 cmake,并给我一个错误说 /usr/bin/cmake 未找到,即使 /usr/local/bin 中提供了最新版本的 cmake。
我想重置 bash 或重新启动可能已经解决了链接的需要,但我不确定。
键入
cmake-gui
以启动 UI凉爽的!
笔记