generate_edl_file ()

30 сентября 2026

ID cmake_generate_edl

generate_edl_file ("<TASK_CLASS_NO_PREF>"

[PREFIX "<PREF>"]

[EDL_ENDPOINTS "<ENDPOINT1>" ["<ENDPOINT2>"]...]

[EDL_COMPONENTS "<COMP_INST1>" ["<COMP_INST2>"]...]

[SECURITY "<SECURITY_IFACE>"]

[OUTPUT_DIR "<PATH>"])

Генерирует EDL-файл формальной спецификации компонента решения и сохраняет в CMake-переменную EDL_FILE абсолютный путь к сгенерированному EDL-файлу.

Параметры:

  • "<TASK_CLASS_NO_PREF>" – имя класса процессов без префикса.

    Например, если имя класса процессов определено как test.PictureManager или test.ex.PictureManager, нужно указать PictureManager.

  • PREFIX "<PREF>" – префикс в имени класса процессов.

    Например, если имя класса процессов определено как test.PictureManager, нужно указать test, а для имени класса процессов test.ex.PictureManager нужно указать test.ex. По умолчанию имеет значение kl. Если указать пустую строку, то параметр примет значение по умолчанию.

  • EDL_ENDPOINTS "<ENDPOINT1>" ["<ENDPOINT2>"]... – службы.

    Значения ENDPOINT<i> представляют собой конструкции вида <имя службы> : <имя интерфейса>, например: write : secure_logger.Write.

  • EDL_COMPONENTS "<COMP_INST1>" ["<COMP_INST2>"]... – экземпляры компонентов.

    Значения COMP_INST<i> представляют собой конструкции вида <имя экземпляра компонента> : <имя компонента>, например: controlimpl : ping.Control.

  • SECURITY "<SECURITY_IFACE>" – имя интерфейса безопасности.
  • OUTPUT_DIR "<PATH>" – путь к директории, в которой будет сохранен EDL-файл.

    Можно указать абсолютный путь или путь относительно директории, соответствующей CMake-переменной CMAKE_CURRENT_BINARY_DIR. По умолчанию параметр имеет значение CMake-переменной CMAKE_CURRENT_BINARY_DIR.

Примеры вызовов:

generate_edl_file ("Server"

PREFIX "ping"

EDL_COMPONENTS "controlimpl : ping.Control"

OUTPUT_DIR "../../resources/xdl/ping")

generate_edl_file ("OrchestratorLib"

PREFIX "orchestrator"

EDL_COMPONENTS "sm0 : kl.settings_manager.SM"

EDL_ENDPOINTS

"updateControl : orchestrator.UpdateControl"

"updateTaskControl : orchestrator.UpdateTaskControl"

OUTPUT_DIR "${CMAKE_BINARY_DIR}/_headers_")

Пример использования см. в "Файлы CMakeLists.txt для сборки прикладных программ".

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!