Как правильно проверить функцию с помощью CMake
при преобразовании из automake в cmake мне приходится переносить некоторые тесты на существование функций. Я не писал настройку.AC script, но я должен воспроизвести функциональность так близко, как показано ниже, поэтому, пожалуйста, не ругайте меня за эти проверки. Я должен их сделать.
Итак, я пытаюсь использовать модуль 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)
это терпит неудачу каждый раз, даже хотя я точно знаю, что у меня есть время funcion (duh). Я попытался заменить время на printf, и он все еще терпит неудачу. Есть ли какая-то настройка, которую я должен сделать, чтобы эта проверка работала правильно?
2 ответов
вы должны удалить ,
:
CHECK_FUNCTION_EXISTS(time HAVE_TIME_FUNCTION)
в CMake, разделители пробелы или точки с запятой, запятая является частью переменной.
включить стандартный модуль CMake CheckFunctionExists
и удалите запятую в check_function_exists
ссылка:
include(CheckFunctionExists)
check_function_exists(time HAVE_TIME_FUNCTION)