~ubuntu-branches/ubuntu/natty/museek+/natty

« back to all changes in this revision

Viewing changes to museeq/CMakeLists.txt

  • Committer: Bazaar Package Importer
  • Author(s): Adam Cécile (Le_Vert)
  • Date: 2007-09-07 22:44:15 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070907224415-lpwy5zdp45pljd8i
Tags: 1:0.1.13+svn.20070907.r741-1
* New upstream release: fix implicitly converted pointers (FTBFS on ia64).
* Add an epoch to hijack old murmur package.
* Fix debian/watch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
project(museeq) # the name of your project
 
2
 
 
3
MESSAGE("DECLARATIONS: PREFIX (/usr), MANDIR (PREFIX/man), DATADIR (PREFIX/share), BINRELOC, TRAYICON
 
4
Prefix declarations with -D and set them with either 1, 0 or a path.
 
5
QSA is detected automatically
 
6
")
 
7
 
 
8
 
 
9
cmake_minimum_required(VERSION 2.4.0)
 
10
include(CheckIncludeFiles)
 
11
include(CheckTypeSize)
 
12
 
 
13
include(CheckCXXSourceCompiles)
 
14
 
 
15
add_subdirectory(Mucipher)
 
16
find_package(Qt3 REQUIRED) # find and setup Qt3 for this project
 
17
 
 
18
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 
19
add_definitions(${QT_DEFINITIONS} )
 
20
# tell cmake where to search for Q headers:
 
21
include_directories( ${QT_INCLUDE_DIR})
 
22
include_directories(.)
 
23
MACRO(ADD_MOC_FILES _sources)
 
24
   FOREACH (_current_FILE ${ARGN})
 
25
 
 
26
      GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
 
27
 
 
28
      GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
 
29
      SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
 
30
 
 
31
      ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
 
32
         COMMAND moc #${QT_MOC_EXECUTABLE} 
 
33
         ARGS ${_tmp_FILE} -o ${_moc}
 
34
         DEPENDS ${_tmp_FILE}
 
35
      )
 
36
 
 
37
      SET(${_sources} ${${_sources}} ${_moc})
 
38
 
 
39
   ENDFOREACH (_current_FILE)
 
40
ENDMACRO(ADD_MOC_FILES)
 
41
 
 
42
MACRO(ADD_TRANSLATION_FILES _sources )
 
43
 
 
44
    FOREACH (_current_FILE ${ARGN})
 
45
      GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
 
46
      GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
 
47
 
 
48
      SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.qm)
 
49
 
 
50
      ADD_CUSTOM_COMMAND(
 
51
         OUTPUT ${_out}
 
52
         COMMAND lrelease #${QT_LRELEASE_EXECUTABLE}
 
53
         ARGS -verbose ${_in} -qm ${_out}
 
54
         DEPENDS ${_in}
 
55
      )
 
56
 
 
57
      SET(${_sources} ${${_sources}} ${_out} )
 
58
   ENDFOREACH (_current_FILE)
 
59
ENDMACRO(ADD_TRANSLATION_FILES)
 
60
 
 
61
FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
 
62
  NAMES lrelease lrelease-qt3
 
63
  PATHS
 
64
  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
 
65
  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
 
66
  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
 
67
  $ENV{QTDIR}/bin
 
68
  ${GLOB_PATHS_BIN}
 
69
  /usr/local/qt/bin
 
70
  /usr/lib/qt/bin
 
71
  /usr/lib/qt3/bin
 
72
  /usr/share/qt3/bin
 
73
  C:/Progra~1/qt/bin
 
74
  /usr/X11R6/bin
 
75
)
 
76
 
 
77
FIND_LIBRARY(QSA_LIBRARY
 
78
    NAMES
 
79
    qsa
 
80
    PATHS
 
81
    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib"
 
82
    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib"
 
83
    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
 
84
    $ENV{QTDIR}/lib
 
85
    ${GLOB_PATHS_LIB}
 
86
    /usr/local/qt/lib
 
87
    /usr/lib/qt/lib
 
88
    /usr/lib/qt3/lib
 
89
    /usr/lib/qt3/lib64
 
90
    /usr/share/qt3/lib
 
91
    C:/Progra~1/qt/lib
 
92
    /usr/X11R6/lib
 
93
    /opt/qt/lib
 
94
)
 
95
 
 
96
IF(PREFIX)
 
97
  SET(CMAKE_INSTALL_PREFIX ${PREFIX})
 
98
ELSE(PREFIX)
 
99
  SET(CMAKE_INSTALL_PREFIX "/usr")
 
100
ENDIF(PREFIX)
 
101
 
 
102
IF (NOT DATADIR)
 
103
  set(DATADIR ${CMAKE_INSTALL_PREFIX}/share)
 
104
ENDIF (NOT DATADIR)
 
105
ADD_DEFINITIONS(-DDATADIR=\\\"${DATADIR}\\\")
 
106
 
 
107
if (MANDIR)
 
108
  set(MANUAL_DIRECTORY ${MANDIR}/man1)
 
109
else (MANDIR)
 
110
  set(MANUAL_DIRECTORY "man/man1")
 
111
endif (MANDIR)
 
112
 
 
113
if (BINRELOC)
 
114
 ADD_DEFINITIONS(-DENABLE_BINRELOC=1)
 
115
endif (BINRELOC)
 
116
 
 
117
 
 
118
check_include_files(stdlib.h HAVE_STDLIB_H)
 
119
check_include_files(stdio.h HAVE_STDIO_H)
 
120
check_include_files(stdarg.h HAVE_STDARG_H)
 
121
check_include_files(stdint.h HAVE_STDINT_H)
 
122
check_include_files(stddef.h HAVE_STDDEF_H)
 
123
check_include_files(unistd.h HAVE_UNISTD_H)
 
124
check_include_files(string.h HAVE_STRING_H)
 
125
check_include_files(strings.h HAVE_STRINGS_H)
 
126
check_include_files(errno.h HAVE_ERRNO_H)
 
127
check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
 
128
check_include_files(sys/poll.h HAVE_SYS_POLL_H)
 
129
check_include_files(sys/epoll.h HAVE_EPOLL_CTL)
 
130
check_include_files(sys/signal.h HAVE_SIGNAL_H)
 
131
check_include_files(sys/un.h HAVE_SYS_UN_H)
 
132
# Check for some standard types and type sizes
 
133
check_type_size("unsigned char" UNSIGNED_CHAR)
 
134
check_type_size("unsigned short" UNSIGNED_SHORT)
 
135
check_type_size("unsigned int" UNSIGNED_INT)
 
136
check_type_size("unsigned long" UNSIGNED_LONG)
 
137
check_type_size("unsigned long long" UNSIGNED_LONG_LONG)
 
138
check_type_size("uint" UINT)
 
139
check_type_size("uint32" UINT32)
 
140
 
 
141
# Determine the type to use as uint32.
 
142
if(HAVE_UINT32)
 
143
  set(UINT32_TYPE uint32)
 
144
elseif(UNSIGNED_CHAR EQUAL 4)
 
145
  set(UINT32_TYPE "unsigned char")
 
146
elseif(UNSIGNED_SHORT EQUAL 4)
 
147
  set(UINT32_TYPE "unsigned short")
 
148
elseif(UNSIGNED_INT EQUAL 4)
 
149
  set(UINT32_TYPE "unsigned int")
 
150
elseif(UNSIGNED_LONG EQUAL 4)
 
151
  set(UINT32_TYPE "unsigned long")
 
152
elseif(UNSIGNED_LONG_LONG EQUAL 4)
 
153
  set(UINT32_TYPE "unsigned long long")
 
154
else(UNSIGNED_LONG_LONG EQUAL 4)
 
155
  message(FATAL_ERROR "Couldn't determine 32bit unsigned interger type.")
 
156
endif(HAVE_UINT32)
 
157
 
 
158
 
 
159
 
160
# message(STATUS ${QT_INCLUDE_DIR})
 
161
# message(STATUS ${QT_DEFINITIONS})
 
162
# message(STATUS ${QT_LIBRARIES})
 
163
# message(STATUS ${CMAKE_REQUIRED_INCLUDES})
 
164
 
 
165
# set(CMAKE_REQUIRED_DEFINITIONS ${QT_DEFINITIONS}  )
 
166
set(CMAKE_REQUIRED_LIBRARIES ${QT_LIBRARIES} ${QSA_LIBRARY})
 
167
set(CMAKE_REQUIRED_INCLUDES . ${QT_INCLUDE_DIR})
 
168
 
 
169
 
 
170
# Check if signal type.
 
171
#   #include <qt.h>
 
172
check_cxx_source_compiles("
 
173
 
 
174
  #include \"qsproject.h\"
 
175
  #include \"qsinterpreter.h\"
 
176
  int main() {
 
177
     QSInterpreter::defaultInterpreter()->hasFunction(\"\");
 
178
  }
 
179
" QSA)
 
180
 
 
181
if (QSA)
 
182
MESSAGE(STATUS "QSA available")
 
183
 add_definitions(-DHAVE_QSA=1 -DHAVE_QSA_DIALOG=1 )
 
184
else (QSA)
 
185
MESSAGE("!!! QSA NOT available")
 
186
endif (QSA)
 
187
 
 
188
message(STATUS "moc binary:" ${QT_MOC_EXECUTABLE})
 
189
message(STATUS "lrelease binary:" ${QT_LRELEASE_EXECUTABLE})
 
190
 
 
191
set(MUSEEQ_SOURCES
 
192
  aclineedit.cpp
 
193
  banlist.cpp
 
194
  browser.cpp
 
195
  browsers.cpp
 
196
  buddylist.cpp
 
197
  chatpanel.cpp
 
198
  chatroom.cpp
 
199
  chatrooms.cpp
 
200
  chattext.cpp
 
201
  chatticker.cpp
 
202
  codeccombo.cpp
 
203
  connect.cpp
 
204
  iconlistbox.cpp
 
205
  ignorelist.cpp
 
206
  images.cpp
 
207
  interestlist.cpp
 
208
  interestlistitem.cpp
 
209
  interestlistview.cpp
 
210
  interests.cpp
 
211
  ipdialog.cpp
 
212
  mainwin.cpp
 
213
  marquee.cpp
 
214
  museekdriver.cpp
 
215
  museeq.cpp
 
216
  onlinealert.cpp
 
217
  prefix.c
 
218
  privatechat.cpp
 
219
  privatechats.cpp
 
220
  recommendsitem.cpp
 
221
  recommendsview.cpp
 
222
  roomlist.cpp
 
223
  roomlistitem.cpp
 
224
  roomlistview.cpp
 
225
  search.cpp
 
226
  searches.cpp
 
227
  searchfilter.cpp
 
228
  searchlistview.cpp
 
229
  settingsdialog.cpp
 
230
  slskdrag.cpp
 
231
  tabwidget.cpp
 
232
  tickerdialog.cpp
 
233
  transferlistitem.cpp
 
234
  transferlistview.cpp
 
235
  transfers.cpp
 
236
  trustlist.cpp
 
237
  userinfo.cpp
 
238
  userinfos.cpp
 
239
  userlistitem.cpp
 
240
  userlistview.cpp
 
241
  usermenu.cpp
 
242
  usertabwidget.cpp
 
243
  util.cpp
 
244
)
 
245
 
 
246
set(MUSEEQ_MOC_HEADERS
 
247
  aclineedit.h
 
248
  banlist.h
 
249
  browser.h
 
250
  browsers.h
 
251
  buddylist.h
 
252
  chatpanel.h
 
253
  chatroom.h
 
254
  chatrooms.h
 
255
  chattext.h
 
256
  chatticker.h
 
257
  codeccombo.h
 
258
  connect.h
 
259
  iconlistbox.h
 
260
  ignorelist.h
 
261
  interestlist.h
 
262
  interestlistview.h
 
263
  interests.h
 
264
  ipdialog.h
 
265
  mainwin.h
 
266
  marquee.h
 
267
  museekdriver.h
 
268
  museeq.h
 
269
  onlinealert.h
 
270
  privatechat.h
 
271
  privatechats.h
 
272
  recommendsview.h
 
273
  roomlist.h
 
274
  roomlistview.h
 
275
  search.h
 
276
  searches.h
 
277
  searchfilter.h
 
278
  searchlistview.h
 
279
  settingsdialog.h
 
280
  slskdrag.h
 
281
  tabwidget.h
 
282
  tickerdialog.h
 
283
  transferlistview.h
 
284
  transfers.h
 
285
  trustlist.h
 
286
  userinfo.h
 
287
  userinfos.h
 
288
  userlistview.h
 
289
  usermenu.h
 
290
  usertabwidget.h
 
291
 
 
292
)
 
293
 
 
294
IF(TRAYICON)
 
295
  ADD_DEFINITIONS(-DHAVE_TRAYICON=1)
 
296
  set(MUSEEQ_MOC_HEADERS ${MUSEEQ_MOC_HEADERS} trayicon.h)
 
297
  set(MUSEEQ_SOURCES ${MUSEEQ_SOURCES} trayicon.cpp)
 
298
endif (TRAYICON)
 
299
 
 
300
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/system.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/system.h)
 
301
 
 
302
add_definitions(-DHAVE_SYSTEM_H)
 
303
 
 
304
ADD_MOC_FILES(MUSEEQ_SOURCES ${MUSEEQ_MOC_HEADERS})
 
305
 
 
306
 
 
307
add_executable(museeq ${MUSEEQ_SOURCES} ${MUSEEQ_MOC_HEADERS})
 
308
set(LINK_LIBRARIES  Mucipher ${QT_LIBRARIES})
 
309
if (QSA)
 
310
  set(LINK_LIBRARIES ${LINK_LIBRARIES} ${QSA_LIBRARY})
 
311
endif (QSA)
 
312
 
 
313
target_link_libraries(museeq ${LINK_LIBRARIES})
 
314
 
 
315
install(
 
316
  TARGETS museeq
 
317
  DESTINATION bin
 
318
)
 
319
# file(GLOB_RECURSE TRANSLATIONS translations/museeq*.ts)
 
320
set(TRANSLATIONS 
 
321
  translations/museeq_fr.ts
 
322
  translations/museeq_pl.ts
 
323
  translations/museeq_it.ts
 
324
  translations/museeq_de.ts
 
325
  translations/museeq_pt_BR.ts
 
326
  translations/museeq_es.ts
 
327
  translations/museeq_ro.ts
 
328
  translations/museeq_nl.ts
 
329
)
 
330
 
 
331
ADD_TRANSLATION_FILES (QM_FILES ${TRANSLATIONS})
 
332
ADD_CUSTOM_TARGET (translations ALL DEPENDS ${QM_FILES})
 
333
install(
 
334
  FILES ${QM_FILES}
 
335
  DESTINATION ${DATADIR}/museek/museeq/translations
 
336
)
 
337
 
 
338
file(GLOB_RECURSE THEME_DEFAULT default/*.png)
 
339
install(FILES ${THEME_DEFAULT} DESTINATION ${DATADIR}/museek/museeq/icons/default)
 
340
file(GLOB_RECURSE THEME_BLUEBOX bluebox/*.png)
 
341
install(FILES ${THEME_BLUEBOX} DESTINATION ${DATADIR}/museek/museeq/icons/bluebox)
 
342
file(GLOB_RECURSE THEME_SILK mikelabo-silk/*.png)
 
343
install(FILES ${THEME_SILK} DESTINATION ${DATADIR}/museek/museeq/icons/mikelabo-silk)
 
344
file(GLOB_RECURSE THEME_TRI mikelabo-tri/*.png)
 
345
install(FILES ${THEME_TRI} DESTINATION ${DATADIR}/museek/museeq/icons/mikelabo-tri)
 
346
 
 
347
set(ICONS
 
348
  museeq.png
 
349
)
 
350
 
 
351
install(
 
352
  FILES ${ICONS}
 
353
  DESTINATION "share/pixmaps"
 
354
)
 
355
set(DESKTOP
 
356
  museeq.desktop
 
357
)
 
358
 
 
359
install(
 
360
  FILES ${DESKTOP}
 
361
  DESTINATION "share/applications"
 
362
)
 
363
install(
 
364
  FILES "museeq.1"
 
365
  DESTINATION ${MANUAL_DIRECTORY}
 
366
)
 
367
MESSAGE("--> Museeq will be installed.. [NO_MUSEEQ=1]")
 
368
if (NOT BINRELOC)
 
369
  MESSAGE(" * without Binary Relocation.. [BINRELOC=1]")
 
370
else (NOT BINRELOC)
 
371
  MESSAGE(" * with Binary Relocation.. [BINRELOC=0]")
 
372
endif (NOT BINRELOC)
 
373
if (NOT TRAYICON)
 
374
  MESSAGE(" * without a Trayicon.. [TRAYICON=1]")
 
375
else (NOT TRAYICON)
 
376
  MESSAGE(" * with a Trayicon.. [TRAYICON=0]")
 
377
endif (NOT TRAYICON)
 
 
b'\\ No newline at end of file'