В настоящее время я конвертирую небольшой проект C из autotools в CMake .
В старом configure.in
я проверял каждый заголовок и библиотечную функцию на существование, используя следующие строки:
# Checks for header files
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h time.h math.h sys/stat.h errno.h unistd.h fcntl.h signal.h])
# Checks for library functions
AC_FUNC_FORK
AC_CHECK_FUNCS([time localtime mktime gmtime exit fork chdir atol signal])
AC_FUNC_STRFTIME
Это то, что многие автоинструментальные проекты делают AFAIK.
Несмотря на то, что компилятор уже проверяет необходимые заголовочные файлы, а компоновщик проверяет библиотечные функции, мой код все еще нуждается в этих проверках, выполненных на этапе настройки, чтобы правильно настроить флаги компиляции для #ifdef HAVE_FOOBAR
и тому подобное.
В этом случае, каков наилучший метод проверки заголовков / функций с помощью CMake?