Re[6]: Путь к Qt хидерам [qmake]
От: _niko_ Россия  
Дата: 03.04.14 09:22
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Еще ожно небольшое обновление:

N> — добавил единую функцию для получение все путей
N> — значения из переменной QT выбираются как уникальные. ХЗ почему, но при уникальных значениях описанных выше по файлу, некоторые их них почему-то все же дублируются


N>defineReplace(get_sub_folder_by_qt_module) {
N>    arg1=$${1}
N>    for(sub, $$list(Core Gui Xml Network Widgets PrintSupport)) {
N>        isEqual(arg1, $$lower($$sub)) {
N>            return(Qt$$sub)
N>        }
N>    }

N>    error(Folder for the module $${arg1} is not defined)
N>}

N>defineReplace(get_path_include_by_qt_module) {
N>    return($$[QT_INSTALL_HEADERS]/$$get_sub_folder_by_qt_module($${1}))
N>}

N>defineReplace(get_all_qt_path) {
N>    QT_modules = $$unique(QT)
N>    result=
N>    for(module, QT_modules) result += $$get_path_include_by_qt_module($${module})
N>    return($$result)
N>}
N>

N>Пока буду использовать этот вариант, но ИМХО как то должно быть проще.

Ивпрям можно проще
И вот как:

defineReplace(get_all_qt_path) {
    result=
    for (module, QT) {
        module_name = $$member(QT.$${module}.name)
        !isEmpty(module_name) {
            module_includes = $$member(QT.$${module}.includes)\\$${module_name}
            result *= $${module_includes}
        }
    }
    return($${result})
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.