Как ссылаться на зависимости внешних библиотек в qt qbs?

Допустим, я скачал некоторую библиотеку xyz с заголовками и двоичными файлами и поместил ее где-то не в стандартные пути поиска. Для каждого продукта я могу добавить пути поиска и библиотеку для ссылки на cpp.includePaths, cpp.libraryPaths, cpp.staticLibraries и т. Д.

Есть ли лучший [стандартный] способ сделать это? Если я собираю библиотеку как часть своего проекта, кажется, что я могу определить пути в элементе «Экспорт», а затем использовать элемент «Зависит» в каждом продукте для автоматической установки путей. Это кажется хорошим механизмом, и мне интересно, нет ли способа использовать его и для внешних зависимостей.

Документы QBS немного тонкие …

Спасибо!

7

Решение

Обычно вы создаете свой собственный модуль для xyz. Вы можете добавить места, где QBS будет искать модули и импорт, установив свойство проекта qbsSearchPaths. Например. установив его в «qbs», QBS будет искать дополнительные модули в подкаталоге «qbs / modules» вашего проекта.

Там вы можете разместить файл с именем «xyz.qbs», который будет выглядеть так:

import qbs
Module {
Depends { name: "cpp" }
property string xyzPath: "the/xyz/path"cpp.includePaths: xyzPath + "/include"cpp.libraryPath: xyzPath + "/lib"cpp.staticLibraries: "xyz"}

Затем вы можете использовать его, просто добавив Depend в ваш проект:

import qbs
Project {
qbsSearchPaths: "qbs"CppApplication {
name: "myApp"files: "src/**"Depends { name: "xyz" }
}
}
6

Другие решения


По вопросам рекламы [email protected]