Содержание
Библиотека nk
Этот раздел содержит описание команд и макросов библиотеки CMake
-библиотеки для работы с компилятором NK.
generate_edl_file()
Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<version>toolchain/share/cmake/Modules/platform/nk2.cmake
.
generate_edl_file(NAME ...)
Команда генерирует EDL-файл с описанием класса процессов.
Параметры:
NAME
– название класса процессов. Обязательный параметр.PREFIX
– имя глобального модуля, к которому относится EDL-файл. В этом параметре необходимо указать название проекта.EDL_COMPONENTS
– имя компонента и его экземпляра, которые будут включены в EDL-файл. Например:EDL_COMPONENTS "env: kl.Env"
. Для включения нескольких компонентов нужно использовать несколько параметровEDL_COMPONENTS
.SECURITY
– квалифицированное имя метода интерфейса безопасности, который будет включен в EDL-файл.OUTPUT_DIR
– директория, где будет создан EDL-файл. По умолчанию${CMAKE_CURRENT_BINARY_DIR}
.OUTPUT_FILE
– имя создаваемого EDL-файла. По умолчанию${OUTPUT_DIR}/${NAME}.edl
.
В результате работы команды переменная EDL_FILE
экспортируется и содержит путь до сгенерированного EDL файла.
Пример вызова:
generate_edl_file(${ENTITY_NAME} EDL_COMPONENTS "env: kl.Env")
Пример использования команды см. в статье "Файлы CMakeLists.txt для сборки прикладных программ".
В началоnk_build_idl_files()
Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<version>toolchain/share/cmake/Modules/platform/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
– глобальный модуль, к которому относится интерфейс. В этом параметре необходимо указать название проекта.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")
Пример использования команды см. в статье "Файлы CMakeLists.txt для сборки прикладных программ".
В началоnk_build_cdl_files()
Команда объявлена в файле /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
– глобальный модуль, к которому относится компонент. В этом параметре необходимо указать название проекта.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 для сборки прикладных программ".
В началоnk_build_edl_files()
Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<version>toolchain/share/cmake/Modules/platform/nk2.cmake
.
nk_build_edl_files(NAME ...)
Команда создает CMake
-цель для генерации .edl.h
-файла для одного заданного EDL-файла при помощи компилятора NK.
Параметры:
NAME
– имяCMake
-цели сборки.edl.h
-файла. Если цель еще не создана, то она будет создана с помощьюadd_library()
с указанным именем. Обязательный параметр.NOINSTALL
– если указана эта опция, то файлы будут только сгенерированы в рабочей директории, но не установлены в глобальные директории:${CMAKE_BINARY_DIR}/_headers_ ${CMAKE_BINARY_DIR}/_headers_/${PROJECT_NAME}
.CDL_TARGET
– цель сборки.cdl.h
-файлов для CDL-файлов, содержащих описания компонентов EDL-файла, для которого выполняется сборка.IDL_TARGET
– цель сборки .idl.h-файлов для IDL-файлов, содержащих описания интерфейсов EDL-файла, для которого выполняется сборка.NK_MODULE
– глобальный модуль, к которому относится EDL-файл. В этом параметре необходимо указать название проекта.WORKING_DIRECTORY
– рабочая директория для вызова компилятора NK, по умолчанию:${CMAKE_CURRENT_BINARY_DIR}
.DEPENDS
– дополнительные цели сборки, от которых зависит EDL-файл.Для добавления нескольких целей нужно использовать несколько параметров
DEPENDS
.EDL
– путь к EDL файлу, для которого генерируется edl.h-файл. Обязательный параметр.NK_FLAGS
– дополнительные флаги для NK компилятора.
Примеры вызова:
nk_build_edl_files (echo_server_edl_files CDL_TARGET echo_cdl_files NK_MODULE "echo" EDL "resources/Server.edl")
nk_build_edl_files (echo_client_edl_files NK_MODULE "echo" EDL "resources/Client.edl")
Пример использования команды см. в статье "Файлы CMakeLists.txt для сборки прикладных программ".
В начало