use AUTOUIC, AUTOMOC and AUTORCC instead of QTX_WRAP_UI, QTX_WRAP_CPP, QTX_ADD_RESOURCES#1135
Conversation
|
Will have to doublecheck vcpkg build: microsoft/vcpkg#30254 (comment) |
|
I'll merge it now, though I should not forget to remove that patch from vcpkg on next release. Thanks for the PR! |
|
Humm, looks like the build is failing on xenial https://github.com/introlab/rtabmap/actions/runs/6187601656/job/16797818716 (too old qt?) I'll remove the docker build on xenial to see if all others are passing, and if so, then xenial support will be EOL. |
|
The AUTOUIC, AUTOMOC, and AUTORCC flags let CMAKE automatically handle the qt build from qt4 to qt6 smoothly on recent CMAKE versions like 3.27. The reason for failing on https://github.com/introlab/rtabmap/actions/runs/6187601656/job/16797818716 is probably an old CMAKE; I think the AUTOXX is better cause upgrading CMAKE is much easier than upgrading the qt version. |
|
On xenial, cmake version is 3.5.1. On bionic, it is 3.10.1. I updated minimum cmake requirements to 3.10. |
This is a fix for CMake can not find the proper qt libexec/uic to build UI files, related to issue #1133
Reproduce on docker with cmake 3.27
[ 43%] Generating ui_preferencesDialog.h
cd /workspace/rtabmap/build/guilib/src && -o /workspace/rtabmap/build/guilib/src/ui_preferencesDialog.h /workspace/rtabmap/guilib/src/ui/preferencesDialog.ui
/bin/bash: line 1: -o: command not found
make -f tools/StereoEval/CMakeFiles/stereoEval.dir/build.make tools/StereoEval/CMakeFiles/stereoEval.dir/build
make[2]: *** [guilib/src/CMakeFiles/rtabmap_gui.dir/build.make:214: guilib/src/ui_preferencesDialog.h] Error 127
Which should be "cd /workspace/rtabmap/build/guilib/src && /usr/local/uic -o /workspace/rtabmap/build/guilib/src/ui_preferencesDialog.h /workspace/rtabmap/build/guilib/src/ui/preferencesDialog.ui"