Как передать точку с запятой в dh_auto_configure

#debian #packaging #deb #build-rules #dpkg-buildpackage

Вопрос:

Мне нужно передать разделенный точкой с запятой список путей к cmake, и я делаю это так.

 dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/home/runner/work/ksnip/Qt/5.15.2/gcc_64;/home/runner/work/ksnip/ksnip/tmp -DCMAKE_BUILD_TYPE=Release
 

Но dpkg-buildpackage, похоже, понимает это, как вы можете видеть, все, что после точки с запятой, вырезано, второй путь и даже тип выпуска отсутствует.

 cd obj-x86_64-linux-gnu amp;amp; cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu  -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/home/runner/work/ksnip/Qt/5.15.2/gcc_64 ..
 

Есть какой-нибудь способ обойти это?

Ответ №1:

Похоже, что строка должна быть заключена в кавычки следующим образом:

 dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH="/home/runner/work/ksnip/Qt/5.15.2/gcc_64;/home/runner/work/ksnip/ksnip/tmp" -DCMAKE_BUILD_TYPE=Release