безопасно определить константы Qt в сценарии оболочки - PullRequest
2 голосов
/ 22 декабря 2010

У меня есть 6 версий моего приложения, и я строю все каждую ночь. Мой .pro файл выглядит так:

DEFINES += \
TEN_INCH \
#TG_MODULE \
NEW_DIALOG

Таким образом, чтобы автоматически создать другую версию, мой сценарий оболочки редактирует файл .pro, благодаря sed. Это отстой, потому что определения должны быть в отдельной строке, и Qt Creator иногда помещает их все в одно и то же (например, при добавлении файла). В результате моя сборка работает, но это не так.

Итак, есть ли лучшее решение для этого? Что-то вроде передачи определений в qmake?

Ответы [ 2 ]

4 голосов
/ 22 декабря 2010

Не редактируйте ваш .pro файл. Вместо этого используйте области .pro файла:

build_one {
  DEFINES += whatever
}
build_two {
  DEFINES += something_else
}

А затем активируйте их из командной строки qmake:

qmake CONFIG+=build_one && make clean && make
0 голосов
/ 22 декабря 2010

Хм, почему бы вам не переписать ваш скрипт, чтобы он сформировал всю директиву DEFINES?

т.е. использовать sed, чтобы найти существующую и заменить ее целиком новой? В этом случае не имеет значения, находится ли он на одной строке или занимает несколько строк.

...