Допустим, я скачал некоторую библиотеку xyz с заголовками и двоичными файлами и поместил ее где-то не в стандартные пути поиска. Для каждого продукта я могу добавить пути поиска и библиотеку для ссылки на cpp.includePaths, cpp.libraryPaths, cpp.staticLibraries и т. Д.
Есть ли лучший [стандартный] способ сделать это? Если я собираю библиотеку как часть своего проекта, кажется, что я могу определить пути в элементе «Экспорт», а затем использовать элемент «Зависит» в каждом продукте для автоматической установки путей. Это кажется хорошим механизмом, и мне интересно, нет ли способа использовать его и для внешних зависимостей.
Документы QBS немного тонкие …
Спасибо!
Обычно вы создаете свой собственный модуль для 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" }
}
}