Для QBS: Какие параметры я бы установил в моем DynamicLibrary{} для установки заголовков и библиотек при сборке?
Я перевожу свои библиотеки Qt из qmake в qbs и пытаюсь найти подходящий шаблон, который поможет мне понять, какие параметры необходимы для упрощения сборки и установки указанных библиотек.
В настоящее время файл qbs для одной из моих библиотек выглядит следующим образом:
import qbs
DynamicLibrary {
name: "qparsingtoolkit";
Depends {name: "cpp"}
Depends {name: "Qt.core"}
files: [
"Headers/qparsingparameters.h",
"Headers/qparsingtoolkit.h",
"Headers/qparsingtoolkit_global.h",
"Sources/qparsingparameters.cpp",
"Sources/qparsingtoolkit.cpp",
]
}
Установка относительно проста.
Я просто хочу, чтобы заголовки были помещены в /usr/include/qconsoledesigner
и .so
библиотеки установлены в /usr/share/qconsoledesigner
1 ответ
DynamicLibrary {
name: "qparsingtoolkit";
Depends {name: "cpp"}
Depends {name: "Qt.core"}
qbs.installPrefix: "usr"
files: [
"Sources/qparsingparameters.cpp",
"Sources/qparsingtoolkit.cpp",
]
Group {
name: "api_headers"
files: [
"Headers/qparsingparameters.h",
"Headers/qparsingtoolkit.h",
"Headers/qparsingtoolkit_global.h",
]
qbs.install: true
qbs.installDir: "include/qconsoledesigner"
}
Group {
fileTagsFilter: ["dynamiclibrary", "dynamiclibrary_symlink"]
qbs.install: true
qbs.installDir: "share/qconsoledesigner"
}
}
Обратите внимание, что установка целевых двоичных файлов станет более простой в будущем; см., например, http://doc-snapshots.qt.io/qbs/qml-qbsconvenienceitems-dynamiclibrary.html.
Обычная сборка qbs устанавливается в установочный корень внутри директории сборки. Чтобы установить "глобально", выполните "сборку qbs" с "sudo qbs install --no-build --install-root /".