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