Release 0.4.3-3maemo with patches to disable menus/actions, add ScrollArea and fix...
[keepassx] / src / CMakeLists.txt
1 # CMake is still experimental, use qmake instead
2
3 SET(keepassx_HEADERS
4         main.h
5         mainwindow.h
6         Database.h
7         Kdb3Database.h
8         lib/EntryView.h
9         lib/FileDialogs.h
10         lib/GroupView.h
11         lib/ShortcutWidget.h
12         lib/UrlLabel.h
13         lib/WaitAnimationWidget.h
14         dialogs/AboutDlg.h
15         dialogs/AddBookmarkDlg.h
16         dialogs/CalendarDlg.h
17         dialogs/CollectEntropyDlg.h
18         dialogs/CustomizeDetailViewDlg.h
19         dialogs/DatabaseSettingsDlg.h
20         dialogs/EditEntryDlg.h
21         dialogs/EditGroupDlg.h
22         dialogs/ExpiredEntriesDlg.h
23         dialogs/HelpDlg.h
24         dialogs/ManageBookmarksDlg.h
25         dialogs/PasswordDlg.h
26         dialogs/PasswordGenDlg.h
27         dialogs/SearchDlg.h
28         dialogs/SelectIconDlg.h
29         dialogs/SettingsDlg.h
30         dialogs/SimplePasswordDlg.h
31 #       dialogs/TrashCanDlg.h
32         import/Import.h
33 #       import/Import_GnuKeyRing.h
34         import/Import_KeePassX_Xml.h
35         import/Import_KWalletXml.h
36         import/Import_PwManager.h
37         export/Export.h
38         export/Export_KeePassX_Xml.h
39         export/Export_Txt.h
40 )
41
42 SET(keepassx_SOURCES
43         main.cpp
44         mainwindow.cpp
45         KpxConfig.cpp
46         Database.cpp
47         Kdb3Database.cpp
48         lib/bookmarks.cpp
49         lib/EntryView.cpp
50         lib/FileDialogs.cpp
51         lib/GroupView.cpp
52         lib/random.cpp
53         lib/SecString.cpp
54         lib/ShortcutWidget.cpp
55         lib/tools.cpp
56         lib/UrlLabel.cpp
57         lib/WaitAnimationWidget.cpp
58         crypto/aescrypt.c
59         crypto/aeskey.c
60         crypto/aes_modes.c
61         crypto/aestab.c
62         crypto/arcfour.cpp
63         crypto/blowfish.cpp
64         crypto/sha256.cpp
65         crypto/twoclass.cpp
66         crypto/twofish.cpp
67         crypto/yarrow.cpp
68         apg/convert.c
69         apg/pronpass.c
70         apg/randpass.c
71         dialogs/AboutDlg.cpp
72         dialogs/AddBookmarkDlg.cpp
73         dialogs/CalendarDlg.cpp
74         dialogs/CollectEntropyDlg.cpp
75         dialogs/CustomizeDetailViewDlg.cpp
76         dialogs/DatabaseSettingsDlg.cpp
77         dialogs/EditEntryDlg.cpp
78         dialogs/EditGroupDlg.cpp
79         dialogs/ExpiredEntriesDlg.cpp
80         dialogs/HelpDlg.cpp
81         dialogs/ManageBookmarksDlg.cpp
82         dialogs/PasswordDlg.cpp
83         dialogs/PasswordGenDlg.cpp
84         dialogs/SearchDlg.cpp
85         dialogs/SelectIconDlg.cpp
86         dialogs/SettingsDlg.cpp
87         dialogs/SimplePasswordDlg.cpp
88 #       dialogs/TrashCanDlg.cpp
89         import/Import.cpp
90 #       import/Import_GnuKeyRing.cpp
91         import/Import_KeePassX_Xml.cpp
92         import/Import_KWalletXml.cpp
93         import/Import_PwManager.cpp
94         export/Export.cpp
95         export/Export_KeePassX_Xml.cpp
96         export/Export_Txt.cpp
97 )
98
99 SET(keepassx_FORMS
100         forms/AboutDlg.ui
101         forms/AddBookmarkDlg.ui
102         forms/CalendarDlg.ui
103         forms/CollectEntropyDlg.ui
104         forms/CustomizeDetailViewDlg.ui
105         forms/DatabaseSettingsDlg.ui
106         forms/EditEntryDlg.ui
107         forms/EditGroupDlg.ui
108         forms/ExpiredEntriesDlg.ui
109         forms/HelpDlg.ui
110         forms/MainWindow.ui
111         forms/ManageBookmarksDlg.ui
112         forms/PasswordDlg.ui
113         forms/PasswordGenDlg.ui
114         forms/SearchDlg.ui
115         forms/SelectIconDlg.ui
116         forms/SettingsDlg.ui
117         forms/SimplePasswordDlg.ui
118 #       forms/TrashCanDlg.ui
119         forms/WorkspaceLockedWidget.ui
120 )
121
122 SET(keepassx_RESOURCES res/resources.qrc)
123
124 set(keepassx_TRANSLATIONS
125 #       translations/keepassx-cs_CZ.ts
126         translations/keepassx-de_DE.ts
127         translations/keepassx-es_ES.ts
128         translations/keepassx-fi_FI.ts
129         translations/keepassx-fr_FR.ts
130         translations/keepassx-gl_ES.ts
131         translations/keepassx-hu_HU.ts
132         translations/keepassx-it_IT.ts
133         translations/keepassx-ja_JP.ts
134         translations/keepassx-nb_NO.ts
135         translations/keepassx-nl_NL.ts
136         translations/keepassx-pl_PL.ts
137         translations/keepassx-ru_RU.ts
138         translations/keepassx-tr_TR.ts
139         translations/keepassx-uk_UA.ts
140         translations/keepassx-zh_CN.ts
141         translations/qt_fi.ts
142         translations/qt_hu.ts
143         translations/qt_it.ts
144         translations/qt_nl.ts
145         translations/qt_tr.ts
146 )
147
148 #IF( MINGW )
149 #       SET(keepassx_SOURCES ${keepassx_SOURCES} main_win32.cpp)
150 #ELSEIF( APPLE )
151 #       SET(keepassx_SOURCES ${keepassx_SOURCES} main_macx.cpp)
152 #ELSE( MINGW )
153 #       SET(keepassx_SOURCES ${keepassx_SOURCES} main_unix.cpp)
154 #ENDIF( MINGW )
155
156 IF( AUTOTYPE )
157         SET(keepassx_HEADERS ${keepassx_HEADERS}
158                 Application_X11.h dialogs/AutoTypeDlg.h lib/AutoTypeTreeWidget.h dialogs/TargetWindowDlg.h)
159         SET(keepassx_SOURCES ${keepassx_SOURCES}
160                 lib/HelperX11.cpp lib/AutoTypeX11.cpp Application_X11.cpp lib/AutoTypeGlobalX11.cpp
161                 dialogs/AutoTypeDlg.cpp lib/AutoTypeTreeWidget.cpp dialogs/TargetWindowDlg.cpp)
162         SET(keepassx_FORMS ${keepassx_FORMS}
163                 forms/AutoTypeDlg.ui forms/TargetWindowDlg.ui)
164 ENDIF( AUTOTYPE )
165
166 IF( NOT PRECOMPILED_HEADER )
167         ADD_DEFINITIONS(-include keepassx.h)
168 ENDIF( NOT PRECOMPILED_HEADER )
169
170 INCLUDE_DIRECTORIES(. lib crypto plugins/interfaces export import dialogs ${CMAKE_CURRENT_BINARY_DIR})
171
172 QT4_ADD_RESOURCES( keepassx_RESOURCES_SOURCES ${keepassx_RESOURCES} )
173 QT4_WRAP_UI( keepassx_FORMS_HEADERS ${keepassx_FORMS} )
174 QT4_WRAP_CPP( keepassx_HEADERS_MOC ${keepassx_HEADERS} )
175
176 ADD_EXECUTABLE( ${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES} ${keepassx_HEADERS_MOC}
177         ${keepassx_RESOURCES_SOURCES} ${keepassx_FORMS_HEADERS} ${keepassx_RCS} )
178 IF( PRECOMPILED_HEADER )
179         ADD_PRECOMPILED_HEADER(${PROGNAME} keepassx.h)
180 ENDIF( PRECOMPILED_HEADER )
181
182 TARGET_LINK_LIBRARIES(${PROGNAME} ${QT_LIBRARIES} ${AUTOTYPE_LIBRARIES})
183
184 QT4_ADD_TRANSLATION(QM_FILES ${keepassx_TRANSLATIONS})
185 ADD_CUSTOM_TARGET(translations ALL DEPENDS ${QM_FILES})
186
187 INSTALL(TARGETS ${PROGNAME} DESTINATION ${BINDIR})
188 INSTALL(FILES ${QM_FILES} DESTINATION ${SHAREDIR}/i18n)