author | Myhailo Danylenko <isbear@ukrpost.net> |
Fri, 15 Jan 2010 11:03:59 +0200 | |
changeset 88 | 9b5c2357fad7 |
parent 83 | 794e54ea1022 |
child 90 | 3102f7def87b |
permissions | -rw-r--r-- |
72 | 1 |
|
2 |
## Copyright 2009 Myhailo Danylenko |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
3 |
# This file is part of lua. |
72 | 4 |
# |
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
5 |
# lua is free software: you can redistribute it and/or modify |
72 | 6 |
# it under the terms of the GNU General Public License as published by |
7 |
# the Free Software Foundation, either version 2 of the License, or |
|
8 |
# (at your option) any later version. |
|
9 |
# |
|
10 |
# This program is distributed in the hope that it will be useful, |
|
11 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
# GNU General Public License for more details. |
|
14 |
# |
|
15 |
# You should have received a copy of the GNU General Public License |
|
16 |
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
0 | 17 |
|
18 |
cmake_minimum_required(VERSION 2.6) |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
19 |
project(lua C) |
0 | 20 |
|
21 |
## User options |
|
22 |
option(DEBUG "Enable debugging output" ON) |
|
78 | 23 |
option(LLM_CONNECTION_ENABLE "Enable exposing of mcabber loudmouth connection to lua" ON) |
3
a5f864d4207f
Fixes for build system
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1
diff
changeset
|
24 |
option(LLM_LOG_HANDLER "Enable registration of log messages handler for lua-loudmouth library's messages" ON) |
88
9b5c2357fad7
Change mcabber headers naming scheme
Myhailo Danylenko <isbear@ukrpost.net>
parents:
83
diff
changeset
|
25 |
set(MCABBER_INCLUDE_DIR "/usr/include" CACHE FILEPATH "Path to mcabber headers") |
30
2cf24aced294
Definitions moved to cmake options
Myhailo Danylenko <isbear@ukrpost.net>
parents:
6
diff
changeset
|
26 |
set(ML_SOURCE_PRIORITY G_PRIORITY_HIGH_IDLE CACHE STRING "Glib event source priority for timeout and bgread") |
2cf24aced294
Definitions moved to cmake options
Myhailo Danylenko <isbear@ukrpost.net>
parents:
6
diff
changeset
|
27 |
set(ML_BGREAD_BUFFER 4096 CACHE STRING "Background pipe reading buffer size") |
0 | 28 |
|
29 |
## Define targets |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
30 |
add_library(lua MODULE main.c util.c) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
31 |
get_target_property(lua_SOURCES lua SOURCES) |
0 | 32 |
|
33 |
## Packaging information |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
34 |
set(CPACK_PACKAGE_NAME libmcabber-lua) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
35 |
set(CPACK_PACKAGE_VERSION "0.0.1") |
0 | 36 |
set(CPACK_PACKAGE_VENDOR "IsBear") |
37 |
set(CPACK_PACKAGE_CONTACT "Myhailo Danylenko <isbear@ukrpost.net>") |
|
38 |
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mcabber lua module") |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
39 |
set(CPACK_PACKAGE_DESCRIPTION_FILE ${lua_SOURCE_DIR}/README) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
40 |
set(CPACK_RESOURCE_FILE_LICENSE ${lua_SOURCE_DIR}/COPYING) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
41 |
set(CPACK_RESOURCE_FILE_README ${lua_SOURCE_DIR}/README) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
42 |
set(CPACK_RESOURCE_FILE_WELCOME ${lua_SOURCE_DIR}/README) |
78 | 43 |
set(CPACK_SOURCE_GENERATOR TBZ2) |
44 |
set(CPACK_GENERATOR DEB CACHE STRING "Binary package generator, eg DEB, RPM, TGZ, NSIS...") |
|
45 |
# XXX |
|
46 |
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, liblua5.1-0, libglib2.0-0") |
|
47 |
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "mcabber-lm | mcabber") |
|
48 |
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "liblua5.1-posix1, liblua5.1-base64-0, liblua5.1-sha1-0") |
|
0 | 49 |
set(CPACK_DEBIAN_PACKAGE_SECTION libs) |
78 | 50 |
find_program(DPKG_EXECUTABLE dpkg) |
51 |
if(DPKG_EXECUTABLE) |
|
52 |
execute_process(COMMAND ${DPKG_EXECUTABLE} --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
53 |
else() |
|
54 |
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386 CACHE STRING "Architecture of package") |
|
55 |
endif() |
|
56 |
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}") |
|
0 | 57 |
# XXX: Set package name directly to get rid of -Sources? |
58 |
set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
|
59 |
include(CPack) |
|
60 |
||
61 |
## Gather information about system |
|
62 |
find_package(Lua51 REQUIRED) |
|
63 |
find_package(PkgConfig REQUIRED) |
|
64 |
pkg_check_modules(GLIB REQUIRED glib-2.0) |
|
65 |
pkg_check_modules(GMODULE REQUIRED gmodule-2.0) |
|
3
a5f864d4207f
Fixes for build system
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1
diff
changeset
|
66 |
# XXX: we need only headers |
78 | 67 |
if(LLM_CONNECTION_ENABLE) |
68 |
pkg_check_modules(LM REQUIRED loudmouth-1.0) |
|
69 |
endif() |
|
1 | 70 |
find_package(Perl) |
0 | 71 |
|
72 |
## Set up compiler |
|
3
a5f864d4207f
Fixes for build system
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1
diff
changeset
|
73 |
configure_file(config.h.in config.h ESCAPE_QUOTES) |
88
9b5c2357fad7
Change mcabber headers naming scheme
Myhailo Danylenko <isbear@ukrpost.net>
parents:
83
diff
changeset
|
74 |
include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${GMODULE_INCLUDE_DIRS} ${LM_INCLUDE_DIRS} ${MCABBER_INCLUDE_DIR}) |
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
75 |
target_link_libraries(lua ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${GMODULE_LIBRARIES}) |
88
9b5c2357fad7
Change mcabber headers naming scheme
Myhailo Danylenko <isbear@ukrpost.net>
parents:
83
diff
changeset
|
76 |
include_directories(${lua_SOURCE_DIR} ${lua_BINARY_DIR}) |
0 | 77 |
|
78 |
## Extra targets |
|
1 | 79 |
if(PERL_FOUND) |
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
80 |
add_custom_command(OUTPUT ${lua_BINARY_DIR}/lua.html COMMAND ${PERL_EXECUTABLE} ${lua_SOURCE_DIR}/docgen.pl ${lua_SOURCES} > ${lua_BINARY_DIR}/lua.html DEPENDS ${lua_SOURCE_DIR}/docgen.pl ${lua_SOURCES} WORKING_DIRECTORY ${lua_SOURCE_DIR}) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
81 |
add_custom_target(doc ALL DEPENDS ${lua_BINARY_DIR}/lua.html) |
1 | 82 |
endif() |
0 | 83 |
|
84 |
## Set up installer |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
85 |
install(TARGETS lua DESTINATION lib/mcabber) |
1 | 86 |
if(PERL_FOUND) |
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
87 |
install(FILES ${lua_BINARY_DIR}/lua.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
1 | 88 |
endif() |
79
05328c643696
Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
78
diff
changeset
|
89 |
install(DIRECTORY examples DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE) |
0 | 90 |
install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
91 |
install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
|
92 |
install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
|
93 |
||
94 |
## The End ## vim: se ts=4: ## |