add_nk_idl()
Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<platform>-<version>/toolchain/share/cmake/Modules/platform/kos_image/nk2.cmake.
add_nk_idl(NAME IDL_FILE ...)
Команда создает CMake-цель для генерации заголовочного файла *.idl.cpp.h для заданного IDL-файла при помощи компилятора nkppmeta. Также команда создает библиотеку, содержащую транспортный код для заданного интерфейса. Для компоновки с этой библиотекой необходимо использовать команду bind_nk_targets().
Генерируемые заголовочные файлы содержат представление на языке C++ для интерфейса и типов данных, описанных в IDL-файле, а также методы, необходимые для использования прокси-объектов и стабов.
Параметры:
NAME– имяCMake-цели. Обязательный параметр.IDL_FILE– путь к IDL-файлу. Обязательный параметр.NK_MODULE– в этом параметре необходимо указать имя пакета, исключив из него имя IDL-файла. Например, если в IDL-описании имя пакета задано какkl.core.NameServer, то в параметреNK_MODULEнеобходимо передать значениеkl.core.NOINSTALL– если указана эта опция, то файлы будут только сгенерированы в рабочей директории, но не будут установлены в глобальные директории:${CMAKE_BINARY_DIR}/_headers_ ${CMAKE_BINARY_DIR}/_headers_/${PROJECT_NAME}.WORKING_DIRECTORY– рабочая директория для вызова компилятора NK, по умолчанию:${CMAKE_CURRENT_BINARY_DIR}.LANG– в этом параметре необходимо указать значениеCXX.
Пример вызова:
add_nk_idl (ANIMAL_IDL "${CMAKE_SOURCE_DIR}/resources/Animal.idl"
NK_MODULE "example"
LANG "CXX")