Есть ли способ управлять проектами с несколькими конфигурациями с помощью conan

У нас есть проект, который мы в основном разрабатываем с помощью Windows и используем conan для управления внешними зависимостями (включая зависимости, не связанные с открытым исходным кодом).

Глобальная конфигурация проекта основана на cmake, и наша основная IDE - это Visual Studio 2019 с несколькими конфигурациями (например, мы можем переключаться между Release и Debug, это хорошо поддерживается cmake).

Единственная причина, по которой мы не можем использовать функцию мультиконфигурации Visual Studio, - это conan. Может просто мы не правильно используем?

В команде conan install мы указываем тип сборки, например conan install path/to/conanfile.txt -s build_type=Debug, поэтому conan устанавливает и генерирует вспомогательные файлы cmake только для отладки. Если я переключусь в режим выпуска в Visual Studio, он не будет работать, потому что установленные и настроенные пакеты conan несовместимы с конфигурацией выпуска, и даже если бы он был, он будет использовать версию отладки вместо версии выпуска.

Для установки мы могли бы просто дважды запустить команду conan install ... Но сгенерированные conan файлы Findxxx.cmake относятся только к одной конфигурации.

Есть ли правильный способ управления проектами с несколькими конфигурациями с помощью Conan?

Спасибо


person Azias    schedule 25.03.2021    source источник
comment
Вы можете попробовать расширение Conan: marketplace.visualstudio.com/ для Visual Studio, который может помочь вам с установкой пакета. Нет возможности использовать multi build_type при одной установке.   -  person uilianries    schedule 25.03.2021


Ответы (1)


Технически conan может очень хорошо выполнять проекты с несколькими конфигурациями, в зависимости от используемой системы сборки.

Вы можете найти все в документации. Пожалуйста, позвольте мне оказать вам помощь при запуске.

person a4z    schedule 31.03.2021
comment
Это именно то, что я искал. Я пробовал это с помощью репозитория примеров , и, кажется, работает хорошо. Спасибо. - person Azias; 31.03.2021