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 !isEqual(INSTALL_QTLIB,0){
124 qt_libs.files = $${QMAKE_LIBDIR_QT}/QtCore4.dll $${QMAKE_LIBDIR_QT}/QtGui4.dll $${QMAKE_LIBDIR_QT}/QtXml4.dll
125 qt_libs.path = $${PREFIX}
128 RC_FILE = ../share/win_ico/keepassx.rc
129 QMAKE_LINK_OBJECT_SCRIPT = $${OBJECTS_DIR}/$${QMAKE_LINK_OBJECT_SCRIPT}
130 # SOURCES += main_win32.cpp
135 contains(DEFINES,GLOBAL_AUTOTYPE){
136 FORMS += forms/AutoTypeDlg.ui forms/TargetWindowDlg.ui
137 HEADERS += dialogs/AutoTypeDlg.h lib/AutoTypeTreeWidget.h dialogs/TargetWindowDlg.h
138 SOURCES += dialogs/AutoTypeDlg.cpp lib/AutoTypeTreeWidget.cpp dialogs/TargetWindowDlg.cpp
141 FORMS += forms/AboutDlg.ui \
142 forms/AddBookmarkDlg.ui \
143 forms/CalendarDlg.ui \
144 forms/CollectEntropyDlg.ui \
145 forms/CustomizeDetailViewDlg.ui \
146 forms/DatabaseSettingsDlg.ui \
147 forms/EditEntryDlg.ui \
148 forms/EditGroupDlg.ui \
149 forms/ExpiredEntriesDlg.ui \
151 forms/MainWindow.ui \
152 forms/ManageBookmarksDlg.ui \
153 forms/PasswordDlg.ui \
154 forms/PasswordGenDlg.ui \
156 forms/SelectIconDlg.ui \
157 forms/SettingsDlg.ui \
158 forms/SimplePasswordDlg.ui \
159 # forms/TrashCanDlg.ui \
160 forms/WorkspaceLockedWidget.ui
162 TRANSLATIONS_KX = translations/keepassx-de_DE.ts \
163 translations/keepassx-es_ES.ts \
164 translations/keepassx-fi_FI.ts \
165 translations/keepassx-fr_FR.ts \
166 translations/keepassx-gl_ES.ts \
167 translations/keepassx-hu_HU.ts \
168 translations/keepassx-it_IT.ts \
169 translations/keepassx-ja_JP.ts \
170 translations/keepassx-nb_NO.ts \
171 translations/keepassx-nl_NL.ts \
172 translations/keepassx-pl_PL.ts \
173 translations/keepassx-ru_RU.ts \
174 translations/keepassx-tr_TR.ts \
175 translations/keepassx-uk_UA.ts \
176 translations/keepassx-zh_CN.ts
178 TRANSLATIONS_DISABLED = translations/keepassx-cs_CZ.ts
180 TRANSLATIONS_QT = translations/qt_fi.ts \
181 translations/qt_hu.ts \
182 translations/qt_it.ts \
183 translations/qt_nl.ts \
184 translations/qt_tr.ts
186 TRANSLATIONS = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts
187 #TRANSLATIONS_UPDATE = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts
188 #TRANSLATIONS_COMPILE = $$TRANSLATIONS_KX $$TRANSLATIONS_QT
202 lib/ShortcutWidget.h \
205 lib/WaitAnimationWidget.h \
208 crypto/aes_endian.h \
224 dialogs/AddBookmarkDlg.h \
225 dialogs/CalendarDlg.h \
226 dialogs/CollectEntropyDlg.h \
227 dialogs/CustomizeDetailViewDlg.h \
228 dialogs/DatabaseSettingsDlg.h \
229 dialogs/EditEntryDlg.h \
230 dialogs/EditGroupDlg.h \
231 dialogs/ExpiredEntriesDlg.h \
233 dialogs/ManageBookmarksDlg.h \
234 dialogs/PasswordDlg.h \
235 dialogs/PasswordGenDlg.h \
236 dialogs/SearchDlg.h \
237 dialogs/SelectIconDlg.h \
238 dialogs/SettingsDlg.h \
239 dialogs/SimplePasswordDlg.h \
240 # dialogs/TrashCanDlg.h \
242 # import/Import_GnuKeyRing.h \
243 import/Import_KeePassX_Xml.h \
244 import/Import_KWalletXml.h \
245 import/Import_PwManager.h \
247 export/Export_KeePassX_Xml.h \
248 export/Export_Txt.h \
249 plugins/interfaces/IFileDialog.h \
250 plugins/interfaces/IIconTheme.h \
251 plugins/interfaces/IGnomeInit.h \
252 plugins/interfaces/IKdeInit.h
254 SOURCES += main.cpp \
261 lib/FileDialogs.cpp \
265 lib/ShortcutWidget.cpp \
268 lib/WaitAnimationWidget.cpp \
274 crypto/blowfish.cpp \
276 crypto/twoclass.cpp \
282 dialogs/AboutDlg.cpp \
283 dialogs/AddBookmarkDlg.cpp \
284 dialogs/CalendarDlg.cpp \
285 dialogs/CollectEntropyDlg.cpp \
286 dialogs/CustomizeDetailViewDlg.cpp \
287 dialogs/DatabaseSettingsDlg.cpp \
288 dialogs/EditEntryDlg.cpp \
289 dialogs/EditGroupDlg.cpp \
290 dialogs/ExpiredEntriesDlg.cpp \
291 dialogs/HelpDlg.cpp \
292 dialogs/ManageBookmarksDlg.cpp \
293 dialogs/PasswordDlg.cpp \
294 dialogs/PasswordGenDlg.cpp \
295 dialogs/SearchDlg.cpp \
296 dialogs/SelectIconDlg.cpp \
297 dialogs/SettingsDlg.cpp \
298 dialogs/SimplePasswordDlg.cpp \
299 # dialogs/TrashCanDlg.cpp \
301 # import/Import_GnuKeyRing.cpp \
302 import/Import_KeePassX_Xml.cpp \
303 import/Import_KWalletXml.cpp \
304 import/Import_PwManager.cpp \
306 export/Export_KeePassX_Xml.cpp \
307 export/Export_Txt.cpp
309 isEqual(PRECOMPILED,0) {
310 QMAKE_CXXFLAGS += -include keepassx.h
313 CONFIG += precompile_header
314 PRECOMPILED_HEADER = keepassx.h
317 RESOURCES += res/resources.qrc
319 #isEmpty(QMAKE_LRELEASE) {
321 # QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
324 # QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease-qt4
325 # !exists($$QMAKE_LRELEASE) : QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
329 #exists($$QMAKE_LRELEASE) {
330 # updateqm.input = TRANSLATIONS_COMPILE
331 # updateqm.output = ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm
332 # updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm
333 # updateqm.CONFIG += no_link
335 # QMAKE_EXTRA_COMPILERS += updateqm
336 # PRE_TARGETDEPS += compiler_updateqm_make_all
339 # message("*** lrelease not found - can't compile translation files")