Bug 343777

Summary: FindQtSoap.cmake doesn't find latest qtsoap built from git code [patch]
Product: [Applications] digikam Reporter: Philip Johnsson <philip.johnsson>
Component: Portability-CmakeAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version: 4.7.0   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.8.0
Sentry Crash Report:
Attachments: Patch to make FindQtSoap.cmake find qtsoap built from git code

Description Philip Johnsson 2015-02-04 16:34:19 UTC
Latest qtsoap built from git code https://github.com/commontk/QtSOAP builds library with different name and is therefor not found.

FindQtSoap.cmake search for libQtSolutions_SOAP-2.7 or libqtsoap but qtsoap from git code builds the library named libQtSolutions_SOAP-head (where "head" is hardcoded in source code?!).  

qtsoap.h and qtsoap development files gets installed in /usr/include/qt4 and not just /usr/include/. My path to qtsoap.h is /usr/include/qt4/QtSoap/qtsoap.h.

Reproducible: Always


Actual Results:  
qtsoap not found during cmake configuring. dlnaexport not built

Expected Results:  
qtsoap  found during cmake configuring. dlnaexport  built.
Comment 1 Philip Johnsson 2015-02-04 16:36:56 UTC
Created attachment 90911 [details]
Patch to make FindQtSoap.cmake find qtsoap built from git code

This patch worked for me on kubuntu 14.10 to find qtsoap library and development files.
Comment 2 Philip Johnsson 2015-02-04 16:50:39 UTC
My qtsoap files build from qtsoap latest git code and where they are installed:

development files:
/usr/include/qt4/QtSoap/QtSoapStructIterator
/usr/include/qt4/QtSoap/QtSoapArrayIterator
/usr/include/qt4/QtSoap/QtSoapArray
/usr/include/qt4/QtSoap/QtSoapTypeConstructorBase
/usr/include/qt4/QtSoap/QtSoapHttpTransport
/usr/include/qt4/QtSoap/QtSoapTypeFactory
/usr/include/qt4/QtSoap/QtSoapStruct
/usr/include/qt4/QtSoap/QtSoapTypeConstructor
/usr/include/qt4/QtSoap/QtSoapType
/usr/include/qt4/QtSoap/qtsoap.h
/usr/include/qt4/QtSoap/QtSoapQName
/usr/include/qt4/QtSoap/QtSoapMessage
/usr/include/qt4/QtSoap/QtSoapSimpleType
/usr/include/qt4/QtSoap/QtSoapNamespaces
/usr/lib/libQtSolutions_SOAP-head.so

dynamic library:
/usr/lib/libQtSolutions_SOAP-head.so.1
/usr/lib/libQtSolutions_SOAP-head.so.1.0
/usr/lib/libQtSolutions_SOAP-head.so.1.0.0

libQtSolutions_SOAP-head gets it's name from this code in qtsoap git found in common.pri:

"QTSOAP_LIBNAME = $$qtLibraryTarget(QtSolutions_SOAP-head)"
Comment 3 caulier.gilles 2015-02-05 09:27:29 UTC
Git commit fe9528312365d5d63ee9dc02018b1d674b233166 by Gilles Caulier.
Committed on 05/02/2015 at 09:24.
Pushed by cgilles into branch 'master'.

apply patch #90911 from Philip Johnsson to fix libqtsoap  detection with last version of shared library.
FIXED-IN: 4.8.0

M  +4    -2    cmake/modules/FindQtSoap.cmake

http://commits.kde.org/kipi-plugins/fe9528312365d5d63ee9dc02018b1d674b233166
Comment 4 caulier.gilles 2015-02-05 09:31:35 UTC
Git commit 33ddabf625b3076c15c0ccaf72b099e035b61f5c by Gilles Caulier.
Committed on 05/02/2015 at 09:30.
Pushed by cgilles into branch 'frameworks'.

backport commit #fe9528312365d5d63ee9dc02018b1d674b233166 from git/master to frameworks branch

M  +4    -2    cmake/modules/FindQtSoap.cmake

http://commits.kde.org/kipi-plugins/33ddabf625b3076c15c0ccaf72b099e035b61f5c