1) В зависимости от ваших конкретных требований, у вас есть два возможных решения.Первый - превратить содержимое вашего .pri-файла в статическую библиотеку:
StaticLibrary {
name: "helper_lib"
Depends { name: "cpp" }
files: ["myfile.cpp", "myfile.h"]
Export {
Depends { name: "cpp" }
cpp.includePaths: path
}
}
Затем добавьте зависимость от этой библиотеки везде, где вам нужна ее функциональность:
CppApplication {
name: "myapp"
Depends { name: "helper_lib" }
}
Этоявляется наиболее разумным подходом, если исходники будут компилироваться одинаково из любой точки, где они были извлечены.
Второй способ - наследовать от элемента группы:
Group { // top-level item in file mylibgroup.qbs
prefix: path + "/"
files: ["mylib.cpp", "mylib.h"]
}
Использовать его какthis:
import "mylibgroup.qbs" as MyLibGroup
CppApplication {
MyLibGroup { }
}
Но учтите, что в этом случае пути включения должны быть заданы в импортируемом продукте, если только они не применяются только к файлам в группе.
2) qbs.installDir указывает внутри «корневого каталога установки», который вы можете упаковать, например, в архив tar.gz или любой другой.Для прямой установки в локальную систему вы можете установить корневой каталог установки в корневой каталог системы.Например:
$ qbs build --no-install qbs.installRoot:/
$ sudo qbs install