7

在从 automake 转换为 cmake 时,我必须进行一些函数存在的测试。我没有编写 configure.ac 脚本,但我确实必须按照以下方式重现该功能,所以请不要对这些检查责备我。我必须制作它们。

所以,我正在尝试使用 CheckFunctionExists 模块来检查时间函数的存在(以及其他)。这是cmake代码

include(CheckIncludeFiles)

CHECK_FUNCTION_EXISTS(time, HAVE_TIME_FUNCTION)

if(NOT HAVE_TIME_FUNCTION)
    message(FATAL_ERROR "ERROR: required time function not found")
endif(NOT HAVE_TIME_FUNCTION)

每次都失败,即使我知道我有时间功能(duh)。我尝试用 printf 替换时间,但仍然失败。是否需要进行一些设置才能使此检查正常工作?

4

2 回答 2

7

您应该删除,

CHECK_FUNCTION_EXISTS(time HAVE_TIME_FUNCTION)

在 CMake 中,分隔符是空格或分号,逗号是变量的一部分。

于 2012-08-15T21:00:49.877 回答
6

包含 CMake 标准模块并删除调用CheckFunctionExists中的逗号:check_function_exists

include(CheckFunctionExists)
check_function_exists(time HAVE_TIME_FUNCTION)
于 2012-08-15T20:58:53.187 回答