在 macOS 上使用 Ninja 进行 CMake GUI

Posted

技术标签:

【中文标题】在 macOS 上使用 Ninja 进行 CMake GUI【英文标题】:CMake GUI with Ninja on macOS 【发布时间】:2018-09-06 11:58:22 【问题描述】:

我正在尝试使用 CMake GUI 创建 Ninja 构建文件。

我尝试在 macOS 上使用 Brew 手动安装 Ninja。两次我都确保 ninja 在 PATH 上可用,但 CMake GUI 永远无法找到 ninja。

CMake 错误:CMake 无法找到与“Ninja”对应的构建程序。 CMAKE_MAKE_PROGRAM 未设置。您可能需要选择不同的构建工具。

命令行上的 CMake 能够找到忍者。只是 cmake-GUI 不是。

高度赞赏任何提示。

【问题讨论】:

【参考方案1】:

当应用程序从 Finder 启动时(例如双击其图标),它不一定与从命令行启动的 PATH 相同。您可以使用具有以下内容的简单 CMakeLists.txt 来查看差异:

cmake_minimum_required(VERSION 3.1)
message("ENVPATH = $ENVPATH")
project(foo)

如果您通过 Finder 启动 CMake GUI 应用程序并使用上述文件作为项目来构建,输出可能会显示如下路径:

ENVPATH = /usr/bin:/bin:/usr/sbin:/sbin

如果您直接从命令行运行 CMake GUI(例如 /Applications/CMake.app/Contents/bin/cmake-gui 而不是 open /Applications/CMake.app),PATH 应该与您习惯从命令行看到的相同,对您来说可能包括 /usr/local/bin假设您已在 ~/.bash_profile 或类似文件中设置了它。

【讨论】:

哇...认真 cmake 吗?喜欢吗?从终端运行 cmake-gui 后,cmake 能够找到 ninja。但找不到是否从 CMake.app 运行。即使忍者总是在我的环境路径中。忍者真的很喜欢玩捉迷藏。

以上是关于在 macOS 上使用 Ninja 进行 CMake GUI的主要内容,如果未能解决你的问题,请参考以下文章

使用 CMake、Clang 和 Ninja 在 Windows 上构建 c++ 项目

在 Postgresql db 上使用 ALTER SEQUENCE 进行 Sqitch 迁移没有效果

如何根据 cmak 在 qt creator 中使用 opencv Cuda

读Secrets of the JavaScript Ninja对象

在 Mac OS 10.15 上使用 gn 和 ninja 从源构建电子时出错

使用 Ninja Forms 在 WordPress 上寻址和设置 2 个日期选择器字段