У меня есть проект C / C ++, который был написан для настройки с CMake
, я пытаюсь выучить Qbs
преобразовав его в использование Qbs
, Это бывает .h.in
файлы, которые в CMake
настроены с использованием configure_file()
функция. Например в CMake
файл с именем bson-version.h.in
преобразуется в bson-version.h
используя приведенный ниже код.
configure_file (
"${SOURCE_DIR}/src/bson/bson-version.h.in""${PROJECT_BINARY_DIR}/src/bson/bson-version.h")
Как это может быть достигнуто в Qbs? Я на Windows 10 x64.
Для этого нет встроенной функциональности. Вы можете легко реализовать это самостоятельно. Вот эскиз (не проверено):
Product {
// ...
Group {
files: ["src/bson/bson-version.h.in"]
fileTags: ["header.in"]
}
// ...
cpp.includePaths: [buildDirectory + "/generated_headers"]
Rule {
inputs: ["header.in"]
Artifact {
filePath: "generated_headers/bson-version.h"fileTags: ["hpp"]
}
prepare: {
// Create JavaScriptCommand and do the replacements
// via qbs.TextFile.
}
}
}
Конечно, если файл .in ссылается на переменные cmake, вам придется определить эквивалентные свойства qbs в вашем проекте и рассмотреть их в правиле.
Других решений пока нет …