Russian Qt Forum
Ноябрь 22, 2024, 20:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как в pro файле вызывать bat скрипт.  (Прочитано 3083 раз)
alvkk
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« : Август 24, 2020, 12:18 »

Добрый день, подскажите, как необходимо прописывать пути в pro файле, что бы вызывался bat файл
Вот так вот работает
VERSION=$$(version.bat)
Но если пытаюсь через слеши полный путь указывать, никак не получается, ни в кавычках, ни с двойным слешем.
VERSION=$$(D:/version.bat) - не работает
VERSION=$$(D:\version.bat) - не работает
VERSION=$$("D:\version.bat") - не работает

Или возможно есть какой-нибудь способ прочитать версию из txt файла, кроме как через bat.
« Последнее редактирование: Август 24, 2020, 12:55 от alvkk » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Август 24, 2020, 12:57 »

Если планируется брать версию из ГИТ-а автоматом, то можно сделать gitversion.pri файл с примерно таким содержимым:

Код:
# We need to specify a path to the Git executable file
# from the environment varable here. Because when on
# Windows this path is in the global system environment
# variable PATH, then the compilation fails due to the
# "git\bin\sh.exe" which too is visible from that global
# PATH.
ENV_GIT_EXE_PATH = $$(GIT_EXE_PATH)
isEmpty(ENV_GIT_EXE_PATH) {
    ENV_GIT_EXE_PATH = git
    message("Environment variable GIT_EXE_PATH is not detected, use default Git name")
} else {
    ENV_GIT_EXE_PATH = $$shell_quote($$shell_path($$ENV_GIT_EXE_PATH))
    message("A Git path is $$ENV_GIT_EXE_PATH")
}

GIT_VERSION = $$system($$ENV_GIT_EXE_PATH describe --long)
message("GIT_VERSION=$$GIT_VERSION")

VERSION = $$GIT_VERSION
VERSION ~= s/^v|-\d+-g[a-f0-9]{6,}//

# Now we use an 'incremental' build numering, e.g. due to the
# Google Play versioning restrictions. In our case this is a
# number of all commits from the head.
BUILD_NUMBER = $$system($$ENV_GIT_EXE_PATH  rev-list --count HEAD)

# On Windows the application version has an
# extended format with a four numbers.
win32:VERSION = $$VERSION'.'$$BUILD_NUMBER

message("VERSION = $$VERSION")
message("BUILD_NUMBER = $$BUILD_NUMBER")

DEFINES += GIT_VERSION=\\\"$$GIT_VERSION\\\"

и подключать его в проекте.

UPD: А по теме скорее всего вызывать что-то надо через $$system()
Записан

ArchLinux x86_64 / Win10 64 bit
zavitaliy
Новичок

Offline Offline

Сообщений: 2


Просмотр профиля
« Ответ #2 : Сентябрь 10, 2020, 12:38 »

Можно прочитать версию из текстового файла используя cat
Код
C++ (Qt)
VERSION = $$cat($$PWD/version.txt)
DEFINES += "PRODUCT_VERSION=\"$$VERSION\""
message(version $$VERSION)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.143 секунд. Запросов: 22.