У меня есть 2 способа получить ревизию SVN:
DEFINES += SVN_REVISION1=\\\"$$system(svnversion -n)\\\"
DEFINES += SVN_REVISION2=$$system(svnversion -n $$PWD)
Оба способа рабочие. В первой выдается версия как строка. Во второй после манипуляциями с дефайнами:
#define VALUE_TO_STRING(x) #x
#define VALUE(x) VALUE_TO_STRING(x)
#define SVN_REVISION_STR VALUE(SVN_REVISION)
тоже превращается в строку.
И эти 2 способа уходят в отказ, если скопировать проект в папку без SVN.
Запуск программы svnversion -n
выдает 2 слова: Unversioned directory
. Как не уходить в отказ хотя бы по одному способу? Как проверить нахождение в репозитории?
Упрощаю пример:
AA = \\\"Unversioned directory\\\"
BB = \\\"212M\\\"
message($$AA)
message($$BB)
Вывод:
Project MESSAGE: \"Unversioned directory\"
Project MESSAGE: \"212M\"
Как тут избавить от пробела, или обнаружить пробел, или оставить только первое слово?
Решение сделал такое:
AA = $$system(svnversion -n)
equals(AA, "Unversioned directory") {
DEFINES += SVN_REVISION=\\\"noSVN\\\"
} else {
DEFINES += SVN_REVISION=\\\"$$AA\\\"
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть ли способ проще, чем просто рисовать 240 кругов разного цвета и радиуса? И как рассчитать точное количество пикселей, нужное для каждого...
Полный текст задания: Даны два массива А и И одинакового размера NОпределить функцию, возвращающую новый массив С того же размера, каждый...
Накопал в интернете разные коды на C++: