Bug 406353 - No longer possible to install in Qt prefix
Summary: No longer possible to install in Qt prefix
Status: RESOLVED FIXED
Alias: None
Product: qca
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 2.2.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Ivan Romanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-09 12:20 UTC by Antonio Rojas
Modified: 2019-04-23 12:03 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Rojas 2019-04-09 12:20:40 UTC
SUMMARY
It's not possible to install Qca in the Qt prefix after commit 63fd27fbce780bccb9c9b3ff6649888cfd809c6a. I also don't see the reason for the hysterical message that cmake prints for which is simply an informative note, but at least previously it did allow to proceed.
Comment 1 Antonio Rojas 2019-04-09 12:25:44 UTC
The commit message of 63fd27fbce780bccb9c9b3ff6649888cfd809c6a suggests that it was done under the belief that the message was only printed when CMAKE_INSTALL_PREFIX is not set, but that is not the case
Comment 2 Harald Sitter 2019-04-09 12:26:29 UTC
Many things about the qca cmake logic elude me entirely :/

If you remove the fatality , does it work again? I am thinking that my subsequent change https://phabricator.kde.org/R486:32419c899c77b8f5ece374d2453ee37e89af7c10 should have unbroken the original problem with the installation path drama and made the fatality not so necessary.
Comment 3 Antonio Rojas 2019-04-09 12:58:31 UTC
Reverting 63fd27fbce780bccb9c9b3ff6649888cfd809c6a allows the build to proceed, but the installation paths are all messed up (eg. it completely disregards CMAKE_INSTALL_PREFIX):

QCA prefix is /home/antonio/Software/test/qca/trunk/src/qca-2.2.0
Plugins will be installed to /home/antonio/Software/test/qca/trunk/src/qca-2.2.0
Binary will be installed to /home/antonio/Software/test/qca/trunk/src/qca-2.2.0
Library will be installed to /home/antonio/Software/test/qca/trunk/src/qca-2.2.0
Public headers will be installed to /Qca-qt5
Private headers will be installed to /Qca-qt5
Feature file will be installed to /mkspecs/features
Documentation will be installed to /html/qca
Man page will be installed to /usr/share/man
Pkg-config file will be installed to /pkgconfig
Comment 4 Antonio Rojas 2019-04-09 13:05:19 UTC
$<TARGET_FILE:Qt5::qmake> is not evaluated before calling EXECUTE_PROCESS, so I don't think this can ever work.
Comment 5 Harald Sitter 2019-04-09 13:12:36 UTC
Meh.

I am inclined to undo the change to QcaMacro.cmake in https://phabricator.kde.org/R486:1137ed5f07d137296874f7dd1ee629f903507161 as far as I can tell that's where the entire ordeal began.
Comment 6 Antonio Rojas 2019-04-09 13:22:50 UTC
Agreed, those changes don't seem to have anything to do with the openssl linking issues the commit is supposed to fix
Comment 7 Harald Sitter 2019-04-23 12:03:57 UTC
Git commit b38e904a4edce7bba33d687f0e0b9dc5357ccbb6 by Harald Sitter.
Committed on 23/04/2019 at 12:03.
Pushed by sitter into branch 'master'.

Partially revert "Require CMake 3.4 and use the OpenSSL imported libs"

Summary:
This reverts the QcaMacro changes of
commit 1137ed5f07d137296874f7dd1ee629f903507161 as they seem fairly
unrelated to the actual openssl change and proof to cause persistent issues
with buildability.

Further revert "unbreak build by moving away from deprecated exec_program"
This reverts commit 32419c899c77b8f5ece374d2453ee37e89af7c10.
Which was done in an attempt to remidy the build problems.

Further revert "Actually abort after the message that tells people to set CMAKE_INSTALL_PREFIX"
This reverts commit 63fd27fbce780bccb9c9b3ff6649888cfd809c6a.
Which was also done in an attempt to fix the problems.

Test Plan:
- when configuring without any arguments the qmake derived paths are used and correct
- when configuring with CMAKE_INSTALL_PREFIX the paths are accordingly reported below that

QCA prefix is /opt
Plugins will be installed to /opt/lib/qca-qt5
Binary will be installed to /opt/bin
Library will be installed to /opt/lib
Public headers will be installed to /opt/include/Qca-qt5
Private headers will be installed to /opt/include/Qca-qt5
Feature file will be installed to /opt/mkspecs/features
Documentation will be installed to /opt/share/doc/qca-qt5/html
Man page will be installed to /opt/share/man
Pkg-config file will be installed to /opt/lib/pkgconfig

Reviewers: dfaure, arojas, vonreth

Reviewed By: dfaure, arojas

Differential Revision: https://phabricator.kde.org/D20408

M  +0    -1    CMakeLists.txt
M  +16   -10   cmake/modules/QcaMacro.cmake

https://commits.kde.org/qca/b38e904a4edce7bba33d687f0e0b9dc5357ccbb6