Spec-Zone.ru › CMake 3.31

enable_language

Включить языки (CXX/C/OBJC/OBJCXX/Fortran и др.)

enable_language(<lang>... [OPTIONAL])

Включает поддержку указанных языков в CMake. Это то же самое, что и команда project(), но не создаёт дополнительные переменные, которые создаёт команда project().

Поддерживаемые языки: C, CXX (т.е. C++), CSharp (т.е. C#), CUDA, OBJC (т.е. Objective-C), OBJCXX (т.е. Objective-C++), Fortran, HIP, ISPC, Swift, ASM, ASM_NASM, ASM_MARMASM, ASM_MASM, и ASM-ATT.

Добавлен в версии 3.8: Добавлена поддержка CSharp и CUDA.

Добавлен в версии 3.15: Добавлена поддержка Swift.

Добавлен в версии 3.16: Добавлена поддержка OBJC и OBJCXX.

Добавлен в версии 3.18: Добавлена поддержка ISPC.

Добавлен в версии 3.21: Добавлена поддержка HIP.

Добавлен в версии 3.26: Добавлена поддержка ASM_MARMASM.

Если вы включаете ASM, укажите его в конце списка, чтобы CMake мог проверить, работают ли компиляторы для других языков, таких как C и для ассемблера тоже.

Ниже приведены ограничения, которые применяются к тому, где может быть вызвана команда enable_language():

  • Она должна вызываться в области файла, а не в вызове функции.
  • Она не должна вызываться до первого вызова команды project(). См. политику CMP0165.
  • Она должна вызываться в самой верхней директории, общей для всех целей, использующих указанный язык непосредственно для компиляции исходных кодов или косвенно через зависимости линков. Проще всего включить все необходимые языки в корневой директории проекта.

Ключевое слово OPTIONAL — это заглушка для будущей реализации, и в настоящее время оно не работает. Вместо этого вы можете использовать модуль CheckLanguage для проверки поддержки перед включением.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/command/enable_language.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API