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

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

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

Документы qbs немного тонкие...

Спасибо!

1 ответ

Обычно вы создаете свой собственный модуль для xyz. Вы можете добавить местоположения, где QBS будет искать модули и импорт, установив проект qbsSearchPaths-property. Например. установив его на "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" } }
}

licensed under cc by-sa 3.0 with attribution.