1
project(museeq) # the name of your project
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
9
cmake_minimum_required(VERSION 2.4.0)
10
include(CheckIncludeFiles)
11
include(CheckTypeSize)
13
include(CheckCXXSourceCompiles)
15
add_subdirectory(Mucipher)
16
find_package(Qt3 REQUIRED) # find and setup Qt3 for this project
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})
26
GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
28
GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
29
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
31
ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
32
COMMAND moc #${QT_MOC_EXECUTABLE}
33
ARGS ${_tmp_FILE} -o ${_moc}
37
SET(${_sources} ${${_sources}} ${_moc})
39
ENDFOREACH (_current_FILE)
40
ENDMACRO(ADD_MOC_FILES)
42
MACRO(ADD_TRANSLATION_FILES _sources )
44
FOREACH (_current_FILE ${ARGN})
45
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
46
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
48
SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.qm)
52
COMMAND lrelease #${QT_LRELEASE_EXECUTABLE}
53
ARGS -verbose ${_in} -qm ${_out}
57
SET(${_sources} ${${_sources}} ${_out} )
58
ENDFOREACH (_current_FILE)
59
ENDMACRO(ADD_TRANSLATION_FILES)
61
FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
62
NAMES lrelease lrelease-qt3
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"
77
FIND_LIBRARY(QSA_LIBRARY
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"
97
SET(CMAKE_INSTALL_PREFIX ${PREFIX})
99
SET(CMAKE_INSTALL_PREFIX "/usr")
103
set(DATADIR ${CMAKE_INSTALL_PREFIX}/share)
105
ADD_DEFINITIONS(-DDATADIR=\\\"${DATADIR}\\\")
108
set(MANUAL_DIRECTORY ${MANDIR}/man1)
110
set(MANUAL_DIRECTORY "man/man1")
114
ADD_DEFINITIONS(-DENABLE_BINRELOC=1)
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)
141
# Determine the type to use as 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.")
160
# message(STATUS ${QT_INCLUDE_DIR})
161
# message(STATUS ${QT_DEFINITIONS})
162
# message(STATUS ${QT_LIBRARIES})
163
# message(STATUS ${CMAKE_REQUIRED_INCLUDES})
165
# set(CMAKE_REQUIRED_DEFINITIONS ${QT_DEFINITIONS} )
166
set(CMAKE_REQUIRED_LIBRARIES ${QT_LIBRARIES} ${QSA_LIBRARY})
167
set(CMAKE_REQUIRED_INCLUDES . ${QT_INCLUDE_DIR})
170
# Check if signal type.
172
check_cxx_source_compiles("
174
#include \"qsproject.h\"
175
#include \"qsinterpreter.h\"
177
QSInterpreter::defaultInterpreter()->hasFunction(\"\");
182
MESSAGE(STATUS "QSA available")
183
add_definitions(-DHAVE_QSA=1 -DHAVE_QSA_DIALOG=1 )
185
MESSAGE("!!! QSA NOT available")
188
message(STATUS "moc binary:" ${QT_MOC_EXECUTABLE})
189
message(STATUS "lrelease binary:" ${QT_LRELEASE_EXECUTABLE})
246
set(MUSEEQ_MOC_HEADERS
295
ADD_DEFINITIONS(-DHAVE_TRAYICON=1)
296
set(MUSEEQ_MOC_HEADERS ${MUSEEQ_MOC_HEADERS} trayicon.h)
297
set(MUSEEQ_SOURCES ${MUSEEQ_SOURCES} trayicon.cpp)
300
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/system.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/system.h)
302
add_definitions(-DHAVE_SYSTEM_H)
304
ADD_MOC_FILES(MUSEEQ_SOURCES ${MUSEEQ_MOC_HEADERS})
307
add_executable(museeq ${MUSEEQ_SOURCES} ${MUSEEQ_MOC_HEADERS})
308
set(LINK_LIBRARIES Mucipher ${QT_LIBRARIES})
310
set(LINK_LIBRARIES ${LINK_LIBRARIES} ${QSA_LIBRARY})
313
target_link_libraries(museeq ${LINK_LIBRARIES})
319
# file(GLOB_RECURSE TRANSLATIONS translations/museeq*.ts)
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
331
ADD_TRANSLATION_FILES (QM_FILES ${TRANSLATIONS})
332
ADD_CUSTOM_TARGET (translations ALL DEPENDS ${QM_FILES})
335
DESTINATION ${DATADIR}/museek/museeq/translations
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)
353
DESTINATION "share/pixmaps"
361
DESTINATION "share/applications"
365
DESTINATION ${MANUAL_DIRECTORY}
367
MESSAGE("--> Museeq will be installed.. [NO_MUSEEQ=1]")
369
MESSAGE(" * without Binary Relocation.. [BINRELOC=1]")
371
MESSAGE(" * with Binary Relocation.. [BINRELOC=0]")
374
MESSAGE(" * without a Trayicon.. [TRAYICON=1]")
376
MESSAGE(" * with a Trayicon.. [TRAYICON=0]")
b'\\ No newline at end of file'