CheckSourceRuns
Added in version 3.19.
Проверить, компилируется ли предоставленный исходный код, создаётся ли исполняемый файл и можно ли его запустить.
-
check_source_runs -
check_source_runs(<lang> <code> <resultVar> [SRC_EXT <extension>])Один раз проверить, можно ли скомпилировать, связать в исполняемый файл и запустить
<lang>исходный код, предоставленный в<code>.<code>должен содержать как минимумmain()функцию или в Fortranprogram.Результат сохраняется во внутренней переменной кэша, указанной в
<resultVar>. Успешное выполнение компиляции и запуска обозначается булевым значениемtrue. Ошибка при компиляции или запуске обозначается булевым значениемfalse, таким как пустая строка или сообщение об ошибке.По умолчанию тестовому исходному файлу будет присвоено расширение, соответствующее требуемому языку. Опция
SRC_EXTможет быть использована для переопределения этого на.<extension>.<code>должен содержать корректную главную программу. Например:check_source_runs(C "#include <stdlib.h> #include <stdnoreturn.h> noreturn void f(){ exit(0); } int main(void) { f(); return 1; }" HAVE_NORETURN) check_source_runs(Fortran "program test real :: x[*] call co_sum(x) end program" HAVE_COARRAY)Команды компиляции и компоновки могут быть изменены, если установить любые из следующих переменных до вызова
check_source_runs()
-
CMAKE_REQUIRED_FLAGS -
Строка дополнительных флагов для передачи компилятору. Строка должна быть разделена пробелами — ;-список не сработает. Содержимое
CMAKE_<LANG>_FLAGSи его соответствующей переменной, специфичной для конфигурации, автоматически добавляются к команде компилятора перед содержимымCMAKE_REQUIRED_FLAGS.
-
CMAKE_REQUIRED_DEFINITIONS -
;-список определений компилятора в формате
-DFOOили-DFOO=bar. Определение для имени, указанного в<resultVar>, также будет автоматически добавлено.
-
CMAKE_REQUIRED_INCLUDES -
;-список путей поиска заголовочных файлов для передачи компилятору. Это будут единственные пути поиска заголовочных файлов — содержимое свойства каталога
INCLUDE_DIRECTORIESбудет проигнорировано.
-
CMAKE_REQUIRED_LINK_OPTIONS -
Added in version 3.14.
;-список параметров для добавления к команде компоновки (см.
try_compile()для получения дополнительной информации).
-
CMAKE_REQUIRED_LIBRARIES -
;-список библиотек для добавления к команде компоновки. Это могут быть имена системных библиотек или Импортированные цели (см.
try_compile()для получения дополнительной информации).
-
CMAKE_REQUIRED_LINK_DIRECTORIES -
Added in version 3.31.
;-список путей поиска библиотек для передачи компоновщику (см.
try_compile()для получения дополнительной информации).
-
CMAKE_REQUIRED_QUIET -
Added in version 3.1.
Если эта переменная вычисляется как булево истинное значение, все сообщения состояния, связанные с проверкой, будут подавлены.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/CheckSourceRuns.html