Add qt-qrcode recipe for use in settings app
[AGL/meta-agl-demo.git] / recipes-qt / qt-qrcode / qt-qrcode / 0001-rework-library-build.patch
1 Rework library build
2
3 Rework qmake files to build libraries out of the quickitem and widget
4 code instead of sample programs. This allows using the associated
5 classes without copying the source and running afoul of the LGPL
6 licensing. Also add pkgconfig file generation to simplify usage, fix
7 header installation, and use pkgconfig to pull in libqrencode instead
8 of having to clone a copy in-tree and building it.
9
10 Upstream-Status: inappropriate [embedded-specific]
11
12 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
13
14 diff --git a/lib/lib.pro b/lib/lib.pro
15 index d046bc4..6b6c199 100644
16 --- a/lib/lib.pro
17 +++ b/lib/lib.pro
18 @@ -1,6 +1,9 @@
19  TARGET = qtqrcode
20  TEMPLATE = lib
21  
22 +CONFIG += link_pkgconfig create_pc create_prl no_install_prl
23 +PKGCONFIG += libqrencode
24 +
25  DEFINES += \
26      QTQRCODE_LIBRARY \
27      QTQRCODE_PLUS_FEATURES
28 @@ -12,7 +15,8 @@ contains(DEFINES, QTQRCODE_PLUS_FEATURES) {
29          qtqrcodepainter.cpp
30  
31      HEADERS +=\
32 -        qtqrcodepainter.h
33 +        qtqrcodepainter.h \
34 +        QtQrCodePainter
35  
36  } else {
37      QT      -= gui
38 @@ -23,16 +27,29 @@ SOURCES += \
39  
40  HEADERS +=\
41      qtqrcode_global.h \
42 -    qtqrcode.h
43 +    qtqrcode.h \
44 +    QtQrCode
45  
46  INCLUDEPATH += $$PWD
47  
48  include(../defaults.pri)
49 -include(libqrencode.pri)
50  # Default rules for deployment.
51  include(deployment.pri)
52  
53  unix {
54 +    headers.path = /usr/include
55      target.path = /usr/lib
56 -    INSTALLS += target
57  }
58 +
59 +headers.files = $$HEADERS
60 +
61 +INSTALLS += headers
62 +
63 +QMAKE_PKGCONFIG_NAME = qtqrcode
64 +QMAKE_PKGCONFIG_FILE = $${QMAKE_PKGCONFIG_NAME}
65 +QMAKE_PKGCONFIG_VERSION = $${VERSION}
66 +QMAKE_PKGCONFIG_DESCRIPTION = A wrapper interface for qrencode for Qt
67 +QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib
68 +QMAKE_PKGCONFIG_INCDIR = ${prefix}/include
69 +QMAKE_PKGCONFIG_REQUIRES = libqrencode
70 +QMAKE_PKGCONFIG_DESTDIR = pkgconfig
71 diff --git a/lib/qtqrcode.h b/lib/qtqrcode.h
72 index 2a7a1ff..0830826 100644
73 --- a/lib/qtqrcode.h
74 +++ b/lib/qtqrcode.h
75 @@ -31,7 +31,7 @@
76  #include <QByteArray>
77  #include <QSharedDataPointer>
78  
79 -#include "libqrencode/qrencode.h"
80 +#include <qrencode.h>
81  
82  class QtQrCodeData;
83  
84 diff --git a/quickitem/quickitem.pro b/quickitem/quickitem.pro
85 index ecfef1b..067dc46 100644
86 --- a/quickitem/quickitem.pro
87 +++ b/quickitem/quickitem.pro
88 @@ -1,5 +1,7 @@
89 -TEMPLATE = app
90 -TARGET = QuickItem
91 +TEMPLATE = lib
92 +TARGET = qtqrcode-quickitem
93 +
94 +CONFIG += create_pc create_prl no_install_prl
95  
96  QT       += qml quick widgets
97  
98 @@ -7,7 +9,7 @@ LIBS += -L../lib -lqtqrcode
99  
100  DEFINES +=
101  
102 -SOURCES += main.cpp \
103 +SOURCES += \
104      QtQrCodeQuickItem.cpp
105  
106  HEADERS += \
107 @@ -21,3 +23,21 @@ QML_IMPORT_PATH =
108  include(../defaults.pri)
109  # Default rules for deployment.
110  include(deployment.pri)
111 +
112 +unix {
113 +    headers.path = /usr/include
114 +    target.path = /usr/lib
115 +}
116 +
117 +headers.files = $$HEADERS
118 +
119 +INSTALLS += headers
120 +
121 +QMAKE_PKGCONFIG_NAME = qtqrcode-quickitem
122 +QMAKE_PKGCONFIG_FILE = $${QMAKE_PKGCONFIG_NAME}
123 +QMAKE_PKGCONFIG_VERSION = $${VERSION}
124 +QMAKE_PKGCONFIG_DESCRIPTION = Qt QuickItem wrapper for qt-qrcode library
125 +QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib
126 +QMAKE_PKGCONFIG_INCDIR = ${prefix}/include
127 +QMAKE_PKGCONFIG_REQUIRES = qtqrcode
128 +QMAKE_PKGCONFIG_DESTDIR = pkgconfig
129 diff --git a/widget/widget.pro b/widget/widget.pro
130 index 2e26a8c..63add50 100644
131 --- a/widget/widget.pro
132 +++ b/widget/widget.pro
133 @@ -1,5 +1,7 @@
134 -TEMPLATE = app
135 -TARGET = Widget
136 +TEMPLATE = lib
137 +TARGET = qtqrcode-widget
138 +
139 +CONFIG += create_pc create_prl no_install_prl
140  
141  greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
142  
143 @@ -9,18 +11,28 @@ LIBS += -L../lib -lqtqrcode
144  
145  DEFINES +=
146  
147 -SOURCES += main.cpp\
148 -        MainWindow.cpp \
149 -    QtQrCodeWidget.cpp
150 -
151 -HEADERS  += MainWindow.hpp \
152 -    QtQrCodeWidget.hpp
153 +SOURCES += QtQrCodeWidget.cpp
154  
155 -FORMS    += MainWindow.ui
156 -
157 -CONFIG += mobility
158 -MOBILITY = 
159 +HEADERS  += QtQrCodeWidget.hpp
160  
161  include(../defaults.pri)
162  # Default rules for deployment.
163  include(deployment.pri)
164 +
165 +unix {
166 +    headers.path = /usr/include
167 +    target.path = /usr/lib
168 +}
169 +
170 +headers.files = $$HEADERS
171 +
172 +INSTALLS += headers
173 +
174 +QMAKE_PKGCONFIG_NAME = qtqrcode-widget
175 +QMAKE_PKGCONFIG_FILE = $${QMAKE_PKGCONFIG_NAME}
176 +QMAKE_PKGCONFIG_VERSION = $${VERSION}
177 +QMAKE_PKGCONFIG_DESCRIPTION = Qt widget wrapper for qt-qrcode library
178 +QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib
179 +QMAKE_PKGCONFIG_INCDIR = ${prefix}/include
180 +QMAKE_PKGCONFIG_REQUIRES = qtqrcode
181 +QMAKE_PKGCONFIG_DESTDIR = pkgconfig