gammu 1.38.5 使用 native_pgsql 编译,--找不到 PostgreSQL

gammu 1.38.5 compile with native_pgsql, --Could not find PostgreSQL

我正在尝试在我的 mac os x El Capitan 上编译 gammu 1.38.5,使用 postgresql 本机库支持,我在 Gammu 文档中找到了相关说明。

我安装了 PostgreSQL 9.4,运行将我的 Mac OS X 作为数据库服务器。创建 smsd 数据库和用户以支持 Gammu SMS 网关服务。 PostgreSQL 安装在 Mac OSX 中的默认位置 /Library/PostgreSQL/9.4。 include 和 lib 目录可以在这里找到。

我设置了POSTGRESQL_PATH指向/Library/PostgreSQL/9.4然后导出到shell,我用FindPostgres.cmake检查了一下,确保包含文件libpq- fe.h 在这里然后 运行 cmake 来配置它。

我尝试使用 cmake 来设置 postgresql 启用:

sudo cmake -DWITH_MYSQL=OFF -DWITH_Postgres=ON -Wno-dev

cmake 没有找到我的 postgresql 默认安装,显示:

-- Could not find PostgreSQL

我想也许在命令行中手动指定了 include/lib 的位置。

我试过:

 sudo cmake -DWITH_MYSQL=OFF -DWITH_Postgres=ON -Wno-dev -DWITH_POSTGRES_INCLUDE_DIR=/Library/PostgreSQL/9.4/include -DWITH_POSTGRES_LIBRARY=/Library/PostgreSQL/9.4/lib

cmake 仍然找不到我指定的 postgresql include/lib,显示:

-- Could not find PostgreSQL

并在最后显示更多信息:

CMake Warning:
  Manually-specified variables were not used by the project:

  WITH_POSTGRES_INCLUDE_DIR
  WITH_POSTGRES_LIBRARY

如果无法使用手动变量,如何将环境变量传递给cmake?

以下应该有效:

cmake -DPOSTGRES_CONFIG_PREFER_PATH=/Library/PostgreSQL/9.4/bin/

无论如何,查找在未来的版本中应该会更好,请参阅 https://github.com/gammu/gammu/commit/d9d09574be1d0afa0609626d3bd6f604be31b8d4