Передача опции сборки в проект qbs

У меня есть проект qbs с некоторой зависимостью от внешней библиотеки. Поскольку я не хочу указывать эту зависимость внутри исходных файлов проекта, я бы предпочел добавить ее в качестве аргумента в консольную команду сборки.

Например: при использовании qmake я могу указать дополнительные аргументы консоли qmake, например qmake.exe MyProject.pro MYDEFINE="random text", а в файле проекта я могу использовать этот аргумент внутри .pro файлов как $$MYDEFINE

Как добиться аналогичной функциональности с qbs?


person Andrei R.    schedule 21.04.2016    source источник
comment
Может быть, вы можете определить разные продукты, которые имеют нужные вам параметры. А из командной строки вы можете решить, какой продукт собирать. Из документации: qbs -f /path/to/project.qbs --products productname qbs.architecture:x86_64   -  person 0rko    schedule 30.04.2016
comment
@0rko, ну, это кажется возможным, но неудобным решением для конкретного случая. Из-за использования svn я хочу избежать создания дополнительных файлов или изменения локальных файлов (как это делается сейчас).   -  person Andrei R.    schedule 03.05.2016


Ответы (1)


Определите свойство в проекте, например:

Project {
     property path myCustomLibPath: "unknown-path"

     Product {
          name: "Awesome Program 3000"

          Depends { name: "cpp" }
          cpp.libraryPaths: [project.myCustomLibPath]

     }
}

Затем установите его в аргументах командной строки:

qbs build -f /path/to/project.qbs debug project.myCustomLibPath:/path/to/my/lib

Это работает даже через Qt Creator.

person vpicaver    schedule 13.05.2016