Библиотека platform

30 сентября 2026

ID cmake_platform_lib

Команда объявлена в файле /opt/KasperskyOS-Community-Edition-<platform>-<version>/toolchain/share/cmake/Modules/platform/common/platform.cmake.

Библиотека platform содержит следующие команды:

  • initialize_platform ([<параметры>]) – инициализация библиотеки platform.

    Нужно использовать в корневом файле CMakeLists.txt.

    Задает способ компоновки исполняемых файлов в проекте решения:

    • initialize_platform () – динамическая компоновка исполняемых файлов.
    • initialize_platform (USE_DYNAMIC_LEGACY) – динамическая компоновка исполняемых файлов. В отличие от команды initialize_platform () без параметров команда initialize_platform (USE_DYNAMIC_LEGACY) задействует устаревший вариант динамической компоновки, при котором исполняемый файл программы статически компонуется с загрузчиком динамических библиотек (libld.elf_so.a) и библиотеками libkos, libc, libm, libpthread, libvfs, librtlcom, libdynld. При динамической компоновке, задействованной в результате использования команды initialize_platform () без параметров, с этими библиотеками статически компонуется загрузчик динамических библиотек, в результате чего создается библиотека ld.elf_so, с которой динамически компонуется исполняемый файл программы.
    • initialize_platform (FORCE_STATIC) – принудительная статическая компоновка исполняемых файлов.

    Можно указать дополнительный параметр NO_NEW_VERSION_CHECK (например, initialize_platform (FORCE_STATIC NO_NEW_VERSION_CHECK)), чтобы отключить проверку наличия обновлений SDK и передачу версии SDK на сервер "Лаборатории Касперского". Подробнее о политике предоставления данных см. "Предоставление данных".

  • platform_target_force_static (<имя цели сборки>) – принудительная статическая компоновка исполняемого файла, заданного через команду add_executable (). Выполняется статическая компоновка независимо от того, какой способ компоновки задан командой initialize_platform ([<параметр>]).
  • platform_target_use_dynamic_legacy (<имя цели сборки>) – динамическая компоновка исполняемого файла, заданного через команду add_executable (). Выполняется динамическая компоновка независимо о того, какой способ компоновки задан командой initialize_platform ([<параметр>]). Задействует устаревший вариант динамической компоновки, как команда initialize_platform (USE_DYNAMIC_LEGACY), но только для одного исполняемого файла.
  • project_header_default (<параметры>) – установка флагов компилятора и компоновщика.

    Нужно использовать в корневом файле CMakeLists.txt.

    Параметры команды задаются в виде пар, состоящих из флага и его состояния (YES – установлен, NO – не установлен): "FLAG_1:{YES|NO}" "FLAG_2:{YES|NO}" ... "FLAG_N:{YES|NO}". Флаги компилятора, задающие стандарты языков C/C++, а также флаг компилятора, управляющий выводом предупреждений, приведены в таблице ниже. Если флаг компилятора, задающий стандарты языков C/C++, не установлен, то по умолчанию используются стандарты ISO C17 и 2017 ISO C++ с расширениями GNU.

    Пример команды:

    project_header_default ("STANDARD_GNU_17:YES" "STRICT_WARNINGS:NO")

    Сведения о некоторых флагах компилятора

Полное описание флагов можно найти в файле /opt/KasperskyOS-Community-Edition-<platform>-<version>/toolchain/share/cmake/Modules/platform/building/compiler_flags-GNU.cmake.

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