enable_language
Включить языки (CXX/C/OBJC/OBJCXX/Fortran и т. д.)
enable_language(<lang>... [OPTIONAL])
Включает поддержку указанных языков в CMake. Эта команда аналогична команде project(), но не создает дополнительные переменные, создаваемые командой project().
Поддерживаются следующие языки:
C
-
CXX -
C++
-
CSharp -
Добавлено в версии 3.8.
C#
-
CUDA -
Добавлено в версии 3.8.
-
OBJC -
Добавлено в версии 3.16.
Objective-C
-
OBJCXX -
Добавлено в версии 3.16.
Objective-C++
Fortran
-
HIP -
Добавлено в версии 3.21.
-
ISPC -
Добавлено в версии 3.18.
-
Swift -
Добавлено в версии 3.15.
-
ASM -
Язык ассемблера, поддерживаемый компилятором C.
Если включаете
ASM, укажите его последним, чтобы CMake мог проверить, поддерживает ли компиляторCилиCXXязык ассемблера. -
ASM_NASM -
Netwide Assembler
-
ASM_MARMASM -
Добавлено в версии 3.26.
Microsoft Assembler (ARM, ARM64)
-
ASM_MASM -
Microsoft Assembler (x86, x64)
-
ASM_POASM -
Добавлено в версии 4.4.
Ассемблер из набора инструментов Pelles C.
ASM-ATT
К вызову enable_language() применяются следующие ограничения:
- Команда должна вызываться в области файла, а не внутри вызова
function()или блокаblock(). - Команду нельзя вызывать до первого вызова
project(). См. политикуCMP0165. - Команду необходимо вызывать в самом верхнем каталоге, общем для всех целей, использующих указанный язык напрямую для компиляции исходных файлов или косвенно через зависимости компоновки. Проще всего включить все необходимые языки в каталоге верхнего уровня проекта.
Ключевое слово OPTIONAL зарезервировано для будущей реализации и пока не работает. Вместо этого можно использовать модуль CheckLanguage, чтобы проверить поддержку языка перед его включением.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/enable_language.html