История изменений
Исправление kuzulis, (текущая версия) :
Почитал доку, вроде бы понял, что всё это делается через Rule
Все через рули. Но для генерации текстовых файлов есть два способа:
-
Самый простой - использование шаблонов и модуль texttemplate .
-
Сложнее но универсалнее - самому создавать текстовые файлы.
Пример первого способа:
Файл проекта: gen-template.qbs :
import qbs
import qbs.FileInfo
CppApplication {
// Подключаем модуль-генератор шаблонов.
Depends { name: "texttemplate" }
// Добавляем тег "text" к твоему продукту приложения,который
// по умолчанию используется модулем 'texttemplate' для всех
// входных файлов с расширением '*.in'.
type: base.concat("text")
consoleApplication: true
// Твоя версия приложения или хз чего.
property string version: "1.2.3"
// Заполняешь соответствие пропертей генерируемого шаблона и того чо те надо.
texttemplate.dict: ({
appname: product.name,
apppath: FileInfo.joinPaths(my_install_group.qbs.installRoot, my_install_group.qbs.installDir),
appver: product.version,
})
// Список входных файлов твоего продукта приложения.
// - файлы с расширением '*.cpp' будут компиляться модулем 'cpp'.
// - файлы с расширением '*.in' будут обрабатываться модулем 'texttemplate'.
files: ["main.cpp", "info.txt.in"]
// Эта группа для установки твоих выходных артефактов (коими являются екзешка
// приложения и твоя сгенеренная инфа) в нужную директорию.
// Тут будет 'install-root/bon'
Group {
id: my_install_group
fileTagsFilter: ["application", "text"]
qbs.install: true
qbs.installDir: "bin"
}
}
Файл исходного шаблона: info.txt.in :
# This is generated file
app-name: ${appname}
app-path: ${apppath}
app-version: ${appver}
Файл сгенеренного файла: info.txt :
# This is generated file
app-name: gen-template
app-path: C:\Users\ass\Documents\build-gen-template-debug\Debug_Desktop__e24fef6e51900fb5/install-root/bin
app-version: 1.2.3
Чо тут сложного то? :)
PS: Для оперативных вопросов есть канал на дискорде https://discord.gg/ZXT6YKq
Исправление kuzulis, :
Почитал доку, вроде бы понял, что всё это делается через Rule
Все через рули. Но для генерации текстовых файлов есть два способа:
-
Самый простой - использование шаблонов и модуль texttemplate .
-
Сложнее но универсалнее - самому создавать текстовые файлы.
Пример первого способа:
Файл проекта: gen-template.qbs :
import qbs
import qbs.FileInfo
CppApplication {
// Подключаем модуль-генератор шаблонов.
Depends { name: "texttemplate" }
// Добавляем тег "text" к твоему продукту приложения,который
// по умолчанию используется модулем 'texttemplate' для всех
// входных файлов с расширением '*.in'.
type: base.concat("text")
consoleApplication: true
// Твоя версия приложения или хз чего.
property string version: "1.2.3"
// Заполняешь соответствие пропертей генерируемого шаблона и того чо те надо.
texttemplate.dict: ({
appname: product.name,
apppath: FileInfo.joinPaths(my_install_group.qbs.installRoot, my_install_group.qbs.installDir),
appver: product.version,
})
// Список входных файлов твоего продукта приложения.
// - файлы с расширением '*.cpp' будут компиляться модулем 'cpp'.
// - файлы с расширением '*.in' будут обрабатываться модулем 'texttemplate'.
files: ["main.cpp", "info.txt.in"]
// Эта группа для установки твоих выходных артефактов (коими являются екзешка
// приложения и твоя сгенеренная инфа) в нужную директорию.
// Тут будет 'install-root/bon'
Group {
id: my_install_group
fileTagsFilter: ["application", "text"]
qbs.install: true
qbs.installDir: "bin"
}
}
Файл исходного шаблона: info.txt.in :
# This is generated file
app-name: ${appname}
app-path: ${apppath}
app-version: ${appver}
Файл сгенеренного файла: info.txt :
# This is generated file
app-name: gen-template
app-path: C:\Users\ass\Documents\build-gen-template-debug\Debug_Desktop__e24fef6e51900fb5/install-root/bin
app-version: 1.2.3
Чо тут сложного то? :)
Исправление kuzulis, :
Почитал доку, вроде бы понял, что всё это делается через Rule
Все через рули. Но для генерации текстовых файлов есть два способа:
-
Самый простой - использование шаблонов и модуль texttemplate .
-
Сложнее но универсалнее - самому создавать текстовые файлы.
Пример первого способа:
Файл проекта: [i]gen-template.qbs[/i] :
import qbs
import qbs.FileInfo
CppApplication {
// Подключаем модуль-генератор шаблонов.
Depends { name: "texttemplate" }
// Добавляем тег "text" к твоему продукту приложения,который
// по умолчанию используется модулем 'texttemplate' для всех
// входных файлов с расширением '*.in'.
type: base.concat("text")
consoleApplication: true
// Твоя версия приложения или хз чего.
property string version: "1.2.3"
// Заполняешь соответствие пропертей генерируемого шаблона и того чо те надо.
texttemplate.dict: ({
appname: product.name,
apppath: FileInfo.joinPaths(my_install_group.qbs.installRoot, my_install_group.qbs.installDir),
appver: product.version,
})
// Список входных файлов твоего продукта приложения.
// - файлы с расширением '*.cpp' будут компиляться модулем 'cpp'.
// - файлы с расширением '*.in' будут обрабатываться модулем 'texttemplate'.
files: ["main.cpp", "info.txt.in"]
// Эта группа для установки твоих выходных артефактов (коими являются екзешка
// приложения и твоя сгенеренная инфа) в нужную директорию.
// Тут будет 'install-root/bon'
Group {
id: my_install_group
fileTagsFilter: ["application", "text"]
qbs.install: true
qbs.installDir: "bin"
}
}
Файл исходного шаблона: [i]info.txt.in[/i] :
# This is generated file
app-name: ${appname}
app-path: ${apppath}
app-version: ${appver}
Файл сгенеренного файла: [i]info.txt[/i] :
# This is generated file
app-name: gen-template
app-path: C:\Users\ass\Documents\build-gen-template-debug\Debug_Desktop__e24fef6e51900fb5/install-root/bin
app-version: 1.2.3
Чо тут сложного то? :)
Исправление kuzulis, :
Почитал доку, вроде бы понял, что всё это делается через Rule
Все через рули. Но для генерации текстовых файлов есть два способа:
-
Самый простой - использование шаблонов и модуль [url=https://doc.qt.io/qbs/qml-qbsmodules-texttemplate.html]texttemplate[/url].
-
Сложнее но универсалнее - самому создавать текстовые файлы.
Пример первого способа:
Файл проекта: [i]gen-template.qbs[/i] :
import qbs
import qbs.FileInfo
CppApplication {
// Подключаем модуль-генератор шаблонов.
Depends { name: "texttemplate" }
// Добавляем тег "text" к твоему продукту приложения,который
// по умолчанию используется модулем 'texttemplate' для всех
// входных файлов с расширением '*.in'.
type: base.concat("text")
consoleApplication: true
// Твоя версия приложения или хз чего.
property string version: "1.2.3"
// Заполняешь соответствие пропертей генерируемого шаблона и того чо те надо.
texttemplate.dict: ({
appname: product.name,
apppath: FileInfo.joinPaths(my_install_group.qbs.installRoot, my_install_group.qbs.installDir),
appver: product.version,
})
// Список входных файлов твоего продукта приложения.
// - файлы с расширением '*.cpp' будут компиляться модулем 'cpp'.
// - файлы с расширением '*.in' будут обрабатываться модулем 'texttemplate'.
files: ["main.cpp", "info.txt.in"]
// Эта группа для установки твоих выходных артефактов (коими являются екзешка
// приложения и твоя сгенеренная инфа) в нужную директорию.
// Тут будет 'install-root/bon'
Group {
id: my_install_group
fileTagsFilter: ["application", "text"]
qbs.install: true
qbs.installDir: "bin"
}
}
Файл исходного шаблона: [i]info.txt.in[/i] :
# This is generated file
app-name: ${appname}
app-path: ${apppath}
app-version: ${appver}
Файл сгенеренного файла: [i]info.txt[/i] :
# This is generated file
app-name: gen-template
app-path: C:\Users\ass\Documents\build-gen-template-debug\Debug_Desktop__e24fef6e51900fb5/install-root/bin
app-version: 1.2.3
Чо тут сложного то? :)
Исходная версия kuzulis, :
Почитал доку, вроде бы понял, что всё это делается через Rule
Все через рули. Но для генерации текстовых файлов есть два способа:
-
Самый простой - использование шаблонов и модуль [url=https://doc.qt.io/qbs/qml-qbsmodules-texttemplate.html]texttemplate[/url].
-
Сложнее но универсалнее - самому создавать текстовые файлы.
Пример первого способа:
Файл проекта: [i]gen-template.qbs[/i] :
[code]
import qbs import qbs.FileInfo
CppApplication {
// Подключаем модуль-генератор шаблонов.
Depends { name: "texttemplate" }
// Добавляем тег "text" к твоему продукту приложения,который
// по умолчанию используется модулем 'texttemplate' для всех
// входных файлов с расширением '*.in'.
type: base.concat("text")
consoleApplication: true
// Твоя версия приложения или хз чего.
property string version: "1.2.3"
// Заполняешь соответствие пропертей генерируемого шаблона и того чо те надо.
texttemplate.dict: ({
appname: product.name,
apppath: FileInfo.joinPaths(my_install_group.qbs.installRoot, my_install_group.qbs.installDir),
appver: product.version,
})
// Список входных файлов твоего продукта приложения.
// - файлы с расширением '*.cpp' будут компиляться модулем 'cpp'.
// - файлы с расширением '*.in' будут обрабатываться модулем 'texttemplate'.
files: ["main.cpp", "info.txt.in"]
// Эта группа для установки твоих выходных артефактов (коими являются екзешка
// приложения и твоя сгенеренная инфа) в нужную директорию.
// Тут будет 'install-root/bon'
Group {
id: my_install_group
fileTagsFilter: ["application", "text"]
qbs.install: true
qbs.installDir: "bin"
}
}
[/code]
Файл исходного шаблона: [i]info.txt.in[/i] :
[code]
This is generated file
app-name: ${appname} app-path: ${apppath} app-version: ${appver} [/code]
Файл сгенеренного файла: [i]info.txt[/i] :
[code]
This is generated file
app-name: gen-template app-path: C:\Users\ass\Documents\build-gen-template-debug\Debug_Desktop__e24fef6e51900fb5/install-root/bin app-version: 1.2.3 [/code]
Чо тут сложного то? :)