author | Myhailo Danylenko <isbear@ukrpost.net> |
Sun, 17 Jan 2010 12:28:33 +0200 | |
changeset 90 | 3102f7def87b |
parent 88 | 9b5c2357fad7 |
child 91 | 37968123db86 |
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 |
|
90
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
29 |
## Gather information about system |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
30 |
find_package(Lua51 REQUIRED) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
31 |
find_package(PkgConfig REQUIRED) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
32 |
pkg_check_modules(GLIB REQUIRED glib-2.0) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
33 |
pkg_check_modules(GMODULE REQUIRED gmodule-2.0) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
34 |
# XXX: we need only headers |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
35 |
if(LLM_CONNECTION_ENABLE) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
36 |
pkg_check_modules(LM REQUIRED loudmouth-1.0) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
37 |
endif() |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
38 |
find_package(Perl) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
39 |
link_directories(${GLIB_LIBRARY_DIRS} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
40 |
${GMODULE_LIBRARY_DIRS} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
41 |
${LM_LIBRARY_DIRS}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
42 |
|
0 | 43 |
## Define targets |
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
44 |
add_library(lua MODULE main.c util.c) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
45 |
get_target_property(lua_SOURCES lua SOURCES) |
0 | 46 |
|
90
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
47 |
## Set up compiler |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
48 |
configure_file(config.h.in config.h ESCAPE_QUOTES) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
49 |
include_directories(SYSTEM ${LUA_INCLUDE_DIR} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
50 |
${GLIB_INCLUDE_DIRS} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
51 |
${GMODULE_INCLUDE_DIRS} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
52 |
${LM_INCLUDE_DIRS} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
53 |
${MCABBER_INCLUDE_DIR}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
54 |
target_link_libraries(lua ${LUA_LIBRARIES} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
55 |
${GLIB_LIBRARIES} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
56 |
${GMODULE_LIBRARIES}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
57 |
include_directories(${lua_SOURCE_DIR} |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
58 |
${lua_BINARY_DIR}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
59 |
|
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
60 |
## Extra targets |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
61 |
if(PERL_FOUND) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
62 |
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}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
63 |
add_custom_target(doc ALL DEPENDS ${lua_BINARY_DIR}/lua.html) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
64 |
endif() |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
65 |
|
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
66 |
## Set up installer |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
67 |
install(TARGETS lua DESTINATION lib/mcabber) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
68 |
if(PERL_FOUND) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
69 |
install(FILES ${lua_BINARY_DIR}/lua.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
70 |
endif() |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
71 |
install(DIRECTORY examples DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
72 |
install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
73 |
install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
74 |
install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
3102f7def87b
Fix linker library search path
Myhailo Danylenko <isbear@ukrpost.net>
parents:
88
diff
changeset
|
75 |
|
0 | 76 |
## Packaging information |
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
77 |
set(CPACK_PACKAGE_NAME libmcabber-lua) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
78 |
set(CPACK_PACKAGE_VERSION "0.0.1") |
0 | 79 |
set(CPACK_PACKAGE_VENDOR "IsBear") |
80 |
set(CPACK_PACKAGE_CONTACT "Myhailo Danylenko <isbear@ukrpost.net>") |
|
81 |
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mcabber lua module") |
|
83
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
82 |
set(CPACK_PACKAGE_DESCRIPTION_FILE ${lua_SOURCE_DIR}/README) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
83 |
set(CPACK_RESOURCE_FILE_LICENSE ${lua_SOURCE_DIR}/COPYING) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
84 |
set(CPACK_RESOURCE_FILE_README ${lua_SOURCE_DIR}/README) |
794e54ea1022
Package/module name change
Myhailo Danylenko <isbear@ukrpost.net>
parents:
79
diff
changeset
|
85 |
set(CPACK_RESOURCE_FILE_WELCOME ${lua_SOURCE_DIR}/README) |
78 | 86 |
set(CPACK_SOURCE_GENERATOR TBZ2) |
87 |
set(CPACK_GENERATOR DEB CACHE STRING "Binary package generator, eg DEB, RPM, TGZ, NSIS...") |
|
88 |
# XXX |
|
89 |
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, liblua5.1-0, libglib2.0-0") |
|
90 |
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "mcabber-lm | mcabber") |
|
91 |
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "liblua5.1-posix1, liblua5.1-base64-0, liblua5.1-sha1-0") |
|
0 | 92 |
set(CPACK_DEBIAN_PACKAGE_SECTION libs) |
78 | 93 |
find_program(DPKG_EXECUTABLE dpkg) |
94 |
if(DPKG_EXECUTABLE) |
|
95 |
execute_process(COMMAND ${DPKG_EXECUTABLE} --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
96 |
else() |
|
97 |
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386 CACHE STRING "Architecture of package") |
|
98 |
endif() |
|
99 |
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}") |
|
0 | 100 |
# XXX: Set package name directly to get rid of -Sources? |
101 |
set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
|
102 |
include(CPack) |
|
103 |
||
104 |
## The End ## vim: se ts=4: ## |