告诉 CMake 在非默认位置查找 (n)curses 的正确方法?

ipm*_*mcc 5 macos cmake

我有一个使用FindCurses.cmake. 我使用的是 OS X,该操作系统附带旧版本的 ncurses(并且似乎不包含 C++ 绑定),并且我尝试构建的代码需要 ncurses 5.9。我已经使用 homebrew 来安装 5.9,但就像一个好邻居一样,homebrew 不会覆盖操作系统附带的 curses/ncurses 资源(我也不希望它这样做。)

我的直觉是,这是我应该能够在不编辑 CMake 文件的情况下完成的事情,对吧?(因为这种行为变化是特定于我的构建环境的,而不是对项目本身的更改,对吧?)对于 autoconf 项目,我可能会在运行之前添加CFLAGS和环境变量,但 CMake 似乎还有更多的事情要做。LDFLAGS./configure

在 CMake 中执行此操作的惯用方法是什么?

m.s*_*.s. 2

您可以通过 提供其他搜索路径CMAKE_PREFIX_PATHCMAKE_PREFIX_PATH首先搜索其中的路径。

您可以CMAKE_PREFIX_PATH在 CMakeLists.txt 文件中指定硬编码,或者最好通过以下方式指定:

cmake -D CMAKE_PREFIX_PATH=/path/where/brew/installed/curses .
Run Code Online (Sandbox Code Playgroud)