2 CONFIG = qt uic resources thread stl warn_on
5 *-g++ : QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-compare
7 DEPENDPATH += crypto dialogs export forms import lib translations res
8 INCLUDEPATH += . lib crypto plugins/interfaces export import dialogs
10 MOC_DIR = ../build/moc
12 OBJECTS_DIR = ../build
13 RCC_DIR = ../build/rcc
26 # lipo and freebsd cannot handle precompiled headers (yet)
27 !isEqual(PRECOMPILED,1){
28 macx : isEqual(ARCH,UNIVERSAL) : PRECOMPILED = 0
29 freebsd-* : PRECOMPILED = 0
32 win32 : QMAKE_WIN32 = 1
34 #-------------------------------------------------------------------------------
35 # Platform Specific: Unix (except MacOS X)
36 #-------------------------------------------------------------------------------
37 unix : !macx : !isEqual(QMAKE_WIN32,1){
38 isEmpty(PREFIX): PREFIX = /usr
41 !isEqual(GLOBAL_AUTOTYPE,0){
42 DEFINES += GLOBAL_AUTOTYPE
45 TARGET = ../bin/keepassx
46 target.path = $${PREFIX}/bin
47 datai18n.files = ../share/keepassx/i18n/*.qm
48 datai18n.path = $${PREFIX}/share/keepassx/i18n
49 dataicons.files = ../share/keepassx/icons/*.png
50 dataicons.path = $${PREFIX}/share/keepassx/icons
51 datalicense.files = ../share/keepassx/license.html
52 datalicense.path = $${PREFIX}/share/keepassx
54 shareapp.files = ../share/applications/*.desktop
55 shareapp.path = $${PREFIX}/share/applications
56 shararemime.files = ../share/mime/packages/*.xml
57 shararemime.path = $${PREFIX}/share/mime/packages
58 sharemimelnk.files = ../share/mimelnk/application/*.desktop
59 sharemimelnk.path = $${PREFIX}/share/mimelnk/application
60 sharepixmaps.files = ../share/pixmaps/*.xpm
61 sharepixmaps.path = $${PREFIX}/share/pixmaps
62 INSTALLS += datai18n dataicons datalicense
63 INSTALLS += shareapp shararemime sharemimelnk sharepixmaps
65 contains(DEFINES,AUTOTYPE){
67 SOURCES += lib/HelperX11.cpp lib/AutoTypeX11.cpp
68 HEADERS += lib/HelperX11.h lib/AutoTypeX11.h
70 contains(DEFINES,GLOBAL_AUTOTYPE){
71 SOURCES += Application_X11.cpp lib/AutoTypeGlobalX11.cpp
72 HEADERS += Application_X11.h lib/AutoTypeGlobalX11.h
74 # SOURCES += main_unix.cpp
78 #-------------------------------------------------------------------------------
79 # Platform Specific: MacOS X
80 #-------------------------------------------------------------------------------
82 isEmpty(PREFIX): PREFIX = /Applications
83 TARGET = ../bin/KeePassX
84 target.path = $${PREFIX}
85 data.files += ../share/keepassx
86 data.path = Contents/Resources
88 LIBS += -framework CoreFoundation
89 isEqual(LINK,DYNAMIC){
90 isEmpty(QT_FRAMEWORK_DIR): QT_FRAMEWORK_DIR = /Library/Frameworks
91 private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtCore.framework
92 private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtGui.framework
93 private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtXml.framework
94 private_frameworks.path = Contents/Frameworks
95 QMAKE_BUNDLE_DATA += private_frameworks
98 LIBS += -framework Carbon -framework AppKit -lz
100 QMAKE_BUNDLE_DATA += data
101 QMAKE_INFO_PLIST= ../share/macx_bundle/Info.plist
102 ICON = ../share/macx_bundle/icon.icns
104 isEqual(ARCH,UNIVERSAL){
107 isEqual(ARCH,INTEL): CONFIG += x86
108 isEqual(ARCH,PPC): CONFIG += ppc
109 # SOURCES += main_macx.cpp
112 #-------------------------------------------------------------------------------
113 # Platform Specific: Windows
114 #-------------------------------------------------------------------------------
115 isEqual(QMAKE_WIN32,1){
117 isEmpty(PREFIX): PREFIX = "C:/Program\ files/KeePassX"
118 TARGET = ../bin/KeePassX
119 target.path = $${PREFIX}
120 data.files += ../share/keepassx/*
121 data.path = $${PREFIX}/share
123 win32-msvc*: LIBS += advapi32.lib
124 !isEqual(INSTALL_QTLIB,0){
125 qt_libs.files = $${QMAKE_LIBDIR_QT}/QtCore4.dll $${QMAKE_LIBDIR_QT}/QtGui4.dll $${QMAKE_LIBDIR_QT}/QtXml4.dll
126 qt_libs.path = $${PREFIX}
129 RC_FILE = ../share/win_ico/keepassx.rc
130 QMAKE_LINK_OBJECT_SCRIPT = $${OBJECTS_DIR}/$${QMAKE_LINK_OBJECT_SCRIPT}
131 # SOURCES += main_win32.cpp
136 contains(DEFINES,GLOBAL_AUTOTYPE){
137 FORMS += forms/AutoTypeDlg.ui forms/TargetWindowDlg.ui
138 HEADERS += dialogs/AutoTypeDlg.h lib/AutoTypeTreeWidget.h dialogs/TargetWindowDlg.h
139 SOURCES += dialogs/AutoTypeDlg.cpp lib/AutoTypeTreeWidget.cpp dialogs/TargetWindowDlg.cpp
142 FORMS += forms/AboutDlg.ui \
143 forms/AddBookmarkDlg.ui \
144 forms/CalendarDlg.ui \
145 forms/CollectEntropyDlg.ui \
146 forms/CustomizeDetailViewDlg.ui \
147 forms/DatabaseSettingsDlg.ui \
148 forms/EditEntryDlg.ui \
149 forms/EditGroupDlg.ui \
150 forms/ExpiredEntriesDlg.ui \
152 forms/MainWindow.ui \
153 forms/ManageBookmarksDlg.ui \
154 forms/PasswordDlg.ui \
155 forms/PasswordGenDlg.ui \
157 forms/SelectIconDlg.ui \
158 forms/SettingsDlg.ui \
159 forms/SimplePasswordDlg.ui \
160 # forms/TrashCanDlg.ui \
161 forms/WorkspaceLockedWidget.ui
163 TRANSLATIONS_KX = translations/keepassx-de_DE.ts \
164 translations/keepassx-es_ES.ts \
165 translations/keepassx-fi_FI.ts \
166 translations/keepassx-fr_FR.ts \
167 translations/keepassx-gl_ES.ts \
168 translations/keepassx-hu_HU.ts \
169 translations/keepassx-it_IT.ts \
170 translations/keepassx-ja_JP.ts \
171 translations/keepassx-nb_NO.ts \
172 translations/keepassx-nl_NL.ts \
173 translations/keepassx-pl_PL.ts \
174 translations/keepassx-pt_PT.ts \
175 translations/keepassx-ru_RU.ts \
176 translations/keepassx-sk_SK.ts \
177 translations/keepassx-sr_RS.ts \
178 translations/keepassx-tr_TR.ts \
179 translations/keepassx-uk_UA.ts \
180 translations/keepassx-zh_CN.ts
182 # also update in translations_release.sh
183 TRANSLATIONS_DISABLED = translations/keepassx-cs_CZ.ts
185 TRANSLATIONS_QT = translations/qt_fi.ts \
186 translations/qt_gl_ES.ts \
187 translations/qt_hu.ts \
188 translations/qt_it.ts \
189 translations/qt_nl.ts \
190 translations/qt_sr.ts \
191 translations/qt_tr.ts
193 # missing Qt translation: nb_NO
195 TRANSLATIONS = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts
196 #TRANSLATIONS_UPDATE = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts
197 #TRANSLATIONS_COMPILE = $$TRANSLATIONS_KX $$TRANSLATIONS_QT
211 lib/ShortcutWidget.h \
214 lib/WaitAnimationWidget.h \
217 crypto/aes_endian.h \
233 dialogs/AddBookmarkDlg.h \
234 dialogs/CalendarDlg.h \
235 dialogs/CollectEntropyDlg.h \
236 dialogs/CustomizeDetailViewDlg.h \
237 dialogs/DatabaseSettingsDlg.h \
238 dialogs/EditEntryDlg.h \
239 dialogs/EditGroupDlg.h \
240 dialogs/ExpiredEntriesDlg.h \
242 dialogs/ManageBookmarksDlg.h \
243 dialogs/PasswordDlg.h \
244 dialogs/PasswordGenDlg.h \
245 dialogs/SearchDlg.h \
246 dialogs/SelectIconDlg.h \
247 dialogs/SettingsDlg.h \
248 dialogs/SimplePasswordDlg.h \
249 # dialogs/TrashCanDlg.h \
251 # import/Import_GnuKeyRing.h \
252 import/Import_KeePassX_Xml.h \
253 import/Import_KWalletXml.h \
254 import/Import_PwManager.h \
256 export/Export_KeePassX_Xml.h \
257 export/Export_Txt.h \
258 plugins/interfaces/IFileDialog.h \
259 plugins/interfaces/IIconTheme.h \
260 plugins/interfaces/IGnomeInit.h \
261 plugins/interfaces/IKdeInit.h
263 SOURCES += main.cpp \
270 lib/FileDialogs.cpp \
274 lib/ShortcutWidget.cpp \
277 lib/WaitAnimationWidget.cpp \
283 crypto/blowfish.cpp \
285 crypto/twoclass.cpp \
291 dialogs/AboutDlg.cpp \
292 dialogs/AddBookmarkDlg.cpp \
293 dialogs/CalendarDlg.cpp \
294 dialogs/CollectEntropyDlg.cpp \
295 dialogs/CustomizeDetailViewDlg.cpp \
296 dialogs/DatabaseSettingsDlg.cpp \
297 dialogs/EditEntryDlg.cpp \
298 dialogs/EditGroupDlg.cpp \
299 dialogs/ExpiredEntriesDlg.cpp \
300 dialogs/HelpDlg.cpp \
301 dialogs/ManageBookmarksDlg.cpp \
302 dialogs/PasswordDlg.cpp \
303 dialogs/PasswordGenDlg.cpp \
304 dialogs/SearchDlg.cpp \
305 dialogs/SelectIconDlg.cpp \
306 dialogs/SettingsDlg.cpp \
307 dialogs/SimplePasswordDlg.cpp \
308 # dialogs/TrashCanDlg.cpp \
310 # import/Import_GnuKeyRing.cpp \
311 import/Import_KeePassX_Xml.cpp \
312 import/Import_KWalletXml.cpp \
313 import/Import_PwManager.cpp \
315 export/Export_KeePassX_Xml.cpp \
316 export/Export_Txt.cpp
318 isEqual(PRECOMPILED,0) {
319 QMAKE_CXXFLAGS += -include keepassx.h
322 CONFIG += precompile_header
323 PRECOMPILED_HEADER = keepassx.h
326 RESOURCES += res/resources.qrc
328 #isEmpty(QMAKE_LRELEASE) {
330 # QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
333 # QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease-qt4
334 # !exists($$QMAKE_LRELEASE) : QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
338 #exists($$QMAKE_LRELEASE) {
339 # updateqm.input = TRANSLATIONS_COMPILE
340 # updateqm.output = ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm
341 # updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm
342 # updateqm.CONFIG += no_link
344 # QMAKE_EXTRA_COMPILERS += updateqm
345 # PRE_TARGETDEPS += compiler_updateqm_make_all
348 # message("*** lrelease not found - can't compile translation files")