debianpackagingdebbuild-rulesdpkg-buildpackage

How pass semicolon to dh_auto_configure


I need to pass a semicolon seperated list of paths to cmake and I'm doing it like this.

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

But dpkg-buildpackage seem to get this, as you can see, everything after the semicolon is cut of, the second path and even the release type is missing.

cd obj-x86_64-linux-gnu && 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 ..

Any way to work around this?


Solution

  • It looks like the string hast to be quoted like this:

    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