Непрограммистам легче понять, что, если «проверить заголовок gtk + - не удалось», они должны установить gtk, а не иметь множество строк ошибок компиляции, которые говорят то же самое, но не читаются для большинства из них :)

тоящее время я конвертирую небольшой проект 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?

Ответы на вопрос(1)

Ваш ответ на вопрос