Как использовать cmake с несколькими пакетными менеджерами?

Пользователь

от willis.streich , в категории: C/C++ , 23 дня назад

Как использовать cmake с несколькими пакетными менеджерами?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cloyd , 22 дня назад

@willis.streich 

CMake можно использовать с несколькими пакетными менеджерами, используя внешние проекты.

  1. Добавьте в свой CMakeLists.txt необходимые внешние проекты с помощью функции add_external_project(). Например, если вы хотите использовать пакетный менеджер A и пакетный менеджер B, вы можете добавить вот такой код:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
include(ExternalProject)        # Подключаем модуль внешних проектов

# Внешний проект A
ExternalProject_Add(projectA
  DOWNLOAD_COMMAND <command to download projectA>      # Ко***** для загрузки проекта A
  SOURCE_DIR <source directory of projectA>           # Директория исходного кода проекта A
  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<install directory> # Аргументы CMake для проекта A
)

# Внешний проект B
ExternalProject_Add(projectB
  DOWNLOAD_COMMAND <command to download projectB>      # Ко***** для загрузки проекта B
  SOURCE_DIR <source directory of projectB>           # Директория исходного кода проекта B
  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<install directory> # Аргументы CMake для проекта B
)

# Добавляем зависимости на проекты A и B
add_dependencies(my_project projectA projectB)


  1. Укажите ваши пакетные менеджеры в качестве путей для загрузки внешних проектов. Например:
1
cmake -D<command to download projectA>=/path/to/packageA/bin/<packageA_manager> -D<command to download projectB>=/path/to/packageB/bin/<packageB_manager> ..


  1. Соберите ваш проект с помощью CMake:
1
cmake --build .


В результате, CMake выполнит загрузку и установку внешних проектов A и B с помощью указанных вами пакетных менеджеров и соберет ваш проект с их поддержкой.