Измените $ PATH из configure.ac - PullRequest
       14

Измените $ PATH из configure.ac

0 голосов
/ 28 апреля 2019

Мне нужно добавить /usr/lib64/qt5/bin к $PATH в configure.ac, где /usr/lib64/qt5/bin - результат:

pkg-config --variable=host_bins Qt5Core 

Каков правильный путь?

Из [1] написано «Ищет $ PATH и запрашивает qmake», но qmake не находится в $ PATH по умолчанию, потому что у нас может быть qmake для qt4 и qmake для qt5, но он находится в $ PATH qmake-qt5,Как заставить configure.ac найти qmake для qt5 или qmake-qt5?

[1] https://www.gnu.org/software/autoconf-archive/ax_have_qt.html

1 Ответ

0 голосов
/ 29 апреля 2019

Мне нужно добавить /usr/lib64/qt5/bin к $PATH в configure.ac, где / usr / lib64 / qt5 / bin является результатом:

pkg-config --variable=host_bins Qt5Core 

Какой правильный путь?

Программа configure, сгенерированная из configure.ac, является сценарием оболочки. Он может поместить этот каталог по своему собственному пути, чтобы AX_HAVE_QT работал правильно, используя обычный синтаксис оболочки. Вы можете выразить это прямо в configure.ac. Существуют сторонние макросы для использования pkg-config, и что-то в этом роде может быть более переносимым для этого бита, но самый простой подход будет выглядеть примерно так:

QT5BIN_PATH=$(pkg-config --variable=host_bins Qt5Core)
# ... check for error / validate result ...
PATH=${QT5BIN_PATH}:${PATH}
export PATH

Вы хотели бы сделать это до AX_HAVE_QT.

Это не изменит путь для make и команд, которые он выполняет, но у вас будут правильные флаги, и у вас будут полные пути для запуска различных инструментов, обнаруженных AX_HAVE_QT. Если вы хотите экспортировать сам обнаруженный путь в make или в шаблонные файлы, созданные с помощью AC_CONFIG_FILES, то вы можете дополнительно сделать QT5BIN_PATH выходной переменной:

AC_OUTPUT([QT5BIN_PATH])
...