Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Примеры кода собираются с помощью системы автоматизации сборки CMake версии 3.5 и выше. Скачать CMake можно с официального сайта.

Процесс сборки

Для каждого модуля в составе BioSDK существует директория samples — директория, содержащая CMakeLists.txt для сборки необходимого модуля.

Пример для модуля fapi
C:\Users\User1\biosdk\fapi\samples\CMakeLists.txt

Чтобы запустить сборку, в зависимости от версии CMake, выполните команды: 

  • версия до 3.13:

    cd $samples && mkdir build && cd build && cmake .. && cmake --build .
  • версия 3.13 и выше:

    cd $samples && cmake -B build -S . && cmake --build build -j

Примеры собираются в директории out рядом с файлом CMakeLists.txt.

Для Windows возможно использование Visual Studio после первого вызова CMake. Открыть ее можно с помощью .sln файла в папке build, или вызвав CMake: --open build (CMake 3.13+).

Некоторые IDE, например, Qt Creator и CLion, имеют встроенную поддержку CMake. В такой ситуации сборка и запуск примеров возможны путем открытия файла CMakeLists.txt непосредственно в среде разработки. Чтобы узнать, поддерживает ли выбранная среда разработки сборку проектов CMake, следует обратиться к ее документации.

Дополнительные настройки процесса сборки

Для сборки примеров кода возможна настройка дополнительных параметров:

Задание генератора

По умолчанию в Windows при первом вызове CMake генерируется файл .sln для последней установленной Visual Studio. На остальных ОС по умолчанию генерируется Makefile.

Для задания генератора вручную при первом вызове CMake нужно передать параметр:

-G <generator name>

Список поддерживаемых генераторов зависит от версии CMake и доступен на сайте документации или по команде: cmake --help.

Задание архитектуры сборки

По умолчанию примеры собираются под архитектуру, собираемую по умолчанию используемым компилятором.

Для того, чтобы выбрать для сборки другую архитектуру, необходимо при первом запуске CMake передать дополнительные параметры, зависящие от генератора и ОС:

  • Visual Studio / Windows: архитектура сборки задается путем передачи параметра -A $arch.
    Возможные значения $arch:

    • x64;
    • Win32;
  • macOS: архитектура задается путем передачи -DCMAKE_OSX_ARCHITECTURES=$arch.
    Возможные значения $arch:

    • x86_64;
    • arm64 (доступно не для всех примеров и версий Xcode);
    • "x86_64;arm64" (доступно не для всех примеров и версий Xcode);
  • Makefile / Linux: изменение архитектуры не рекомендуется.
    Возможно задать другой компилятор путем передачи -DCMAKE_C_COMPILER/-DCMAKE_CXX_COMPILER.
    Либо передать параметры, специфичные для используемого компилятора, через -DCMAKE_C_FLAGS/-DCMAKE_CXX_FLAGS.
    Если планируется компиляция под другую ОС (например, Linux -> FreeBSD), то требуется передача названия ОС с помощью -DCMAKE_SYSTEM_NAME.

    Примеры
    Cборка x86 примеров на Linux x64 с установленным GNU Multilib-DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
    Cборка FreeBSD кросс-компилятором на Linux x64-DCMAKE_SYSTEM_NAME=FreeBSD -DCMAKE_C_COMPILER=/path/to/c/compiler -DCMAKE_CXX_COMPILER=/path/to/c++/compiler

Переключение Debug/Release

По умолчанию примеры собираются в Debug версии.
Указать другой тип сборки можно через интерфейс используемой IDE или при сборке из консоли, используя переменную CMAKE_BUILD_TYPE или флаг сборки --config:

  • версия CMake до 3.13:

    cmake -DCMAKE_BUILD_TYPE=Debug .. && cmake --config Debug --build .
  • версия CMake 3.13 и выше:

    cmake -DCMAKE_BUILD_TYPE=Debug -B build -S . && cmake --build build --config Debug
  • No labels