Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.8.2
-
None
-
-
ae4f9fe0c (dev), 19fac1976 (dev), 84841f3bb (6.9), 2889a6136 (6.9), 327185720 (6.8), 23d1c956c (6.8), a46b19e16 (dev), 77b4452f8 (6.9), 2af24f905 (6.8)
Description
I have a test project which usesĀ qt_generate_deploy_app_script to deploy an executable that depends on Qt::WebEngineWidgets. When generating the rpm via cpack -G RPM i get the following error:
CMake Error at /opt/Qt/6.8.2/gcc_64/lib/cmake/Qt6WebEngineCore/Qt6WebEngineCoreDeploySupport.cmake:87 (file): file does not exist: /tmp/test_webengine/build/_CPack_Packages/Linux/RPM/test_webengine-0.1-Linux/opt/test_webengine/libexec/QtWebEngineProcess
That is because at Qt6WebEngineCoreDeploySupport.cmake:83 the call to file(INSTALL ...) copies the QtWebEngineProcess into
/tmp/test_webengine/build/_CPack_Packages/Linux/RPM/test_webengine-0.1-Linux/tmp/test_webengine/build/_CPack_Packages/Linux/RPM/test_webengine-0.1-Linux/opt/test_webengine/libexec/QtWebEngineProcess
instead of
/tmp/test_webengine/build/_CPack_Packages/Linux/RPM/test_webengine-0.1-Linux/opt/test_webengine/libexec/QtWebEngineProcess
Replacing file(INSTALL ...) with file(COPY ...) in Qt6WebEngineCoreDeploySupport.cmake the RPM generates as expected.
I'm not even sure it's a Qt bug to be honest, but from the looks of it the deploy script is not honoring the CMAKE_INSTALL_PREFIX.
Another thing I tried is adding install(CODE "set(QT_DEPLOY_PREFIX \"\${CMAKE_INSTALL_PREFIX}\")"), this copies the QtWebEngineProcess in the correct path but then the call to file(CHMOD ...) fails.
The CMake version I'm using is 3.29.3.