Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<version>toolchain/share/cmake/Modules/platform/nk2.cmake
.
nk_build_cdl_files(NAME ...)
Команда создает CMake
-цель для генерации .cdl.h
-файлов для одного или нескольких заданных CDL-файлов при помощи компилятора NK.
Параметры:
NAME
– имя CMake
-цели для сборки .cdl.h
-файлов. Если цель еще не создана, то она будет создана с помощью add_library()
с указанным именем. Обязательный параметр.NOINSTALL
– если указана эта опция, то файлы будут только сгенерированы в рабочей директории, но не установлены в глобальные директории: ${CMAKE_BINARY_DIR}/_headers_ ${CMAKE_BINARY_DIR}/_headers_/${PROJECT_NAME}
.IDL_TARGET
– цель сборки .idl.h
-файлов для IDL-файлов, содержащих описания служб, предоставляемых компонентами, описанными в CDL-файлах.NK_MODULE
– в этом параметре необходимо указать имя компонента, исключив из него имя CDL-файла. Например, если в CDL-описании имя компонента задано как kl.core.NameServer
, то в параметре NK_MODULE
необходимо передать значение kl.core
.WORKING_DIRECTORY
– рабочая директория для вызова компилятора NK, по умолчанию: ${CMAKE_CURRENT_BINARY_DIR}
.DEPENDS
– дополнительные цели сборки, от которых зависит CDL-файл.Для добавления нескольких целей нужно использовать несколько параметров DEPENDS
.
CDL
– путь к CDL-файлу, для которого генерируется .cdl.h
-файл. Обязательный параметр.Для добавления нескольких CDL-файлов нужно использовать несколько параметров CDL
.
NK_FLAGS
– дополнительные флаги для NK компилятора.Пример вызова:
nk_build_cdl_files (echo_cdl_files IDL_TARGET echo_idl_files NK_MODULE "echo" CDL "resources/Ping.cdl")
Пример использования команды см. в статье "Файлы CMakeLists.txt для сборки прикладных программ".
В начало