1
# Copyright (C) 2010 Cristian Greco <cristian@regolo.cc>
2
# Distributed under the same license terms of the program itself (see COPYING).
4
cmake_minimum_required(VERSION 2.6)
11
set(PACKAGE "${APPNAME}")
12
set(PACKAGE_NAME "${APPNAME}")
13
set(PACKAGE_STRING "${APPNAME}-${VERSION}")
14
set(PACKAGE_VERSION "${APPNAME}-${VERSION}")
15
set(APP_VERSION "${VERSION}")
16
set(GETTEXT_PACKAGE "${APPNAME}")
17
string(REGEX REPLACE "([0-9])\\.([0-9]).*" "\\1.\\2" VERSION_MAJOR_MINOR ${VERSION})
18
file(READ AUTHORS _AUTHORS)
19
string(REPLACE "\n" "\\n" AUTHORS ${_AUTHORS})
22
"${CMAKE_CURRENT_SOURCE_DIR}/config.h.in"
23
"${CMAKE_CURRENT_BINARY_DIR}/config.h"
25
add_definitions(-include config.h)
29
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
30
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
33
add_custom_target(uninstall "${CMAKE_COMMAND}" -P
34
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
37
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
39
include(ValaPrecompile)
40
find_package(Vala REQUIRED)
41
ensure_vala_version("0.7.9" MINIMUM)
44
option(ENABLE_DEBUG "Enable debug messages" OFF)
45
option(UBUNTU_ICONS "Install icons for Ubuntu mono themes" OFF)
46
set(pino_VALA_OPTIONS)
49
find_package(PkgConfig)
50
pkg_check_modules(GLIB REQUIRED "glib-2.0 >= 2.14.0")
51
pkg_check_modules(GOBJECT REQUIRED "gobject-2.0 >= 2.14.0")
52
pkg_check_modules(GTK+ REQUIRED "gtk+-2.0 >= 2.10.0")
53
pkg_check_modules(GEE REQUIRED "gee-1.0 >= 0.5.0")
54
pkg_check_modules(GIO REQUIRED "gio-2.0 >= 2.0")
55
pkg_check_modules(LIBNOTIFY REQUIRED "libnotify")
56
pkg_check_modules(LIBSOUP REQUIRED "libsoup-2.4 >= 2.4")
57
pkg_check_modules(LIBXML REQUIRED "libxml-2.0 >= 2.0")
58
pkg_check_modules(WEBKIT REQUIRED "webkit-1.0 >= 1.0")
59
pkg_check_modules(LIBUNIQUE REQUIRED "unique-1.0 >= 1.0")
60
pkg_check_modules(GTKSPELL REQUIRED "gtkspell-2.0 >= 2.0")
61
pkg_check_modules(LIBINDICATE "indicate >= 0.3")
63
set(pino_VALA_OPTIONS ${pino_VALA_OPTIONS} --thread)
65
if(${LIBINDICATE_FOUND})
66
message(STATUS "libindicate found, support enabled...")
67
set(pino_VALA_OPTIONS ${pino_VALA_OPTIONS} -D LIBINDICATE)
69
message(STATUS "libindicate not found, support disabled...")
74
set(pino_VALA_OPTIONS ${pino_VALA_OPTIONS} -D HAS_DEBUG)
77
set(pino_VALA_OPTIONS ${pino_VALA_OPTIONS} -D HAS_UBUNTUICONS)
81
file(GLOB pino_VALA_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*.vala")
102
${CMAKE_CURRENT_SOURCE_DIR}/src/vapi/config.vapi
118
${LIBINDICATE_CFLAGS}
127
${LIBNOTIFY_LIBRARIES}
131
${LIBUNIQUE_LIBRARIES}
132
${GTKSPELL_LIBRARIES}
133
${LIBINDICATE_LIBRARIES}
136
include_directories(src/vapi/)
137
add_definitions(-std=c99)
142
src/vapi/time_parser.c
145
install(TARGETS pino DESTINATION bin)
148
find_program(MSGFMT_EXECUTABLE msgfmt)
149
file(GLOB PO_FILES "po/*.po")
151
foreach(PO_FILE ${PO_FILES})
152
get_filename_component(PO_FILE_BASE ${PO_FILE} NAME_WE)
153
set(MO_FILE_PATH ${CMAKE_CURRENT_BINARY_DIR}/po)
154
set(MO_FILE ${MO_FILE_PATH}/${PO_FILE_BASE}.mo)
156
file(MAKE_DIRECTORY "${MO_FILE_PATH}")
159
COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_FILE} ${PO_FILE})
161
install(FILES ${MO_FILE}
162
DESTINATION share/locale/${PO_FILE_BASE}/LC_MESSAGES
163
RENAME ${GETTEXT_PACKAGE}.mo)
164
set(MO_FILES ${MO_FILES} ${MO_FILE})
166
add_custom_target(locales ALL DEPENDS ${MO_FILES})
170
img/delete_status.png
176
img/mentions_fresh.svg
181
img/timeline_fresh.svg
185
install(FILES ${pino_IMAGES} DESTINATION share/pino/icons)
192
install(FILES ${pino_ICONS} DESTINATION share/icons/hicolor/scalable/apps)
195
set(pino_UBUNTU_ICONS_DARK
196
img/ubuntu-mono-dark/pino-tray-icon.svg
197
img/ubuntu-mono-dark/pino-tray-icon-fresh.svg
199
set(pino_UBUNTU_ICONS_LIGHT
200
img/ubuntu-mono-light/pino-tray-icon.svg
201
img/ubuntu-mono-light/pino-tray-icon-fresh.svg
204
install(FILES ${pino_UBUNTU_ICONS_DARK} DESTINATION share/icons/ubuntu-mono-dark/apps/22)
205
install(FILES ${pino_UBUNTU_ICONS_LIGHT} DESTINATION share/icons/ubuntu-mono-light/apps/22)
215
install(FILES ${pino_DOCS} DESTINATION share/doc/pino)
221
templates/status_direct.tpl
222
templates/status_me.tpl
224
install(FILES ${pino_TEMPLATES} DESTINATION share/pino/templates)
227
install(FILES pino.desktop DESTINATION share/applications)
228
install(FILES indicator/pino DESTINATION share/indicators/messages/applications)