2 cmake_minimum_required(VERSION 2.6) |
2 cmake_minimum_required(VERSION 2.6) |
3 project(mcabber-lua C) |
3 project(mcabber-lua C) |
4 |
4 |
5 ## User options |
5 ## User options |
6 option(DEBUG "Enable debugging output" ON) |
6 option(DEBUG "Enable debugging output" ON) |
|
7 option(LLM_LOG_HANDLER "Enable registration of log messages handler for lua-loudmouth library's messages" ON) |
7 set(MCABBER_INCLUDE_DIR "/home/isbear/src/mcabber/hglm/mcabber/src" CACHE FILEPATH "Path to mcabber headers") |
8 set(MCABBER_INCLUDE_DIR "/home/isbear/src/mcabber/hglm/mcabber/src" CACHE FILEPATH "Path to mcabber headers") |
|
9 set(LUA_HOOK_NAME "hook_handler" CACHE STRING "Lua function name to be called on hook invocation") |
8 |
10 |
9 ## Define targets |
11 ## Define targets |
10 add_library(mcabber-lua MODULE main.c util.c) |
12 add_library(mcabber-lua MODULE main.c util.c) |
11 get_target_property(mcabber-lua_SOURCES mcabber-lua SOURCES) |
13 get_target_property(mcabber-lua_SOURCES mcabber-lua SOURCES) |
12 |
14 |
13 ## Packaging information |
15 ## Packaging information |
14 #set(CPACK_PACKAGE_NAME mcabber-lua) |
|
15 set(CPACK_PACKAGE_VERSION_MAJOR 0) |
16 set(CPACK_PACKAGE_VERSION_MAJOR 0) |
16 set(CPACK_PACKAGE_VERSION_MINOR 0) |
17 set(CPACK_PACKAGE_VERSION_MINOR 0) |
17 set(CPACK_PACKAGE_VERSION_PATCH 0) |
18 set(CPACK_PACKAGE_VERSION_PATCH 0) |
18 set(CPACK_PACKAGE_VENDOR "IsBear") |
19 set(CPACK_PACKAGE_VENDOR "IsBear") |
19 set(CPACK_PACKAGE_CONTACT "Myhailo Danylenko <isbear@ukrpost.net>") |
20 set(CPACK_PACKAGE_CONTACT "Myhailo Danylenko <isbear@ukrpost.net>") |
31 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
32 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
32 include(CPack) |
33 include(CPack) |
33 |
34 |
34 ## Gather information about system |
35 ## Gather information about system |
35 find_package(Lua51 REQUIRED) |
36 find_package(Lua51 REQUIRED) |
36 #execute_process(COMMAND lua -e "print ( package.path )" OUTPUT_VARIABLE LUA_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
37 #execute_process(COMMAND lua -e "print ( package.cpath )" OUTPUT_VARIABLE LUA_CPATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
38 find_package(PkgConfig REQUIRED) |
37 find_package(PkgConfig REQUIRED) |
39 pkg_check_modules(GLIB REQUIRED glib-2.0) |
38 pkg_check_modules(GLIB REQUIRED glib-2.0) |
40 pkg_check_modules(GMODULE REQUIRED gmodule-2.0) |
39 pkg_check_modules(GMODULE REQUIRED gmodule-2.0) |
|
40 # XXX: we need only headers |
41 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
41 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
42 find_package(Perl) |
42 find_package(Perl) |
43 |
43 |
44 ## Set up compiler |
44 ## Set up compiler |
45 configure_file(config.h.in config.h) |
45 configure_file(config.h.in config.h ESCAPE_QUOTES) |
46 include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${GMODULE_INCLUDE_DIRS} ${LM_INCLUDE_DIRS}) |
46 include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${GMODULE_INCLUDE_DIRS} ${LM_INCLUDE_DIRS}) |
47 target_link_libraries(mcabber-lua ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${GMODULE_LIBRARIES}) |
47 target_link_libraries(mcabber-lua ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${GMODULE_LIBRARIES}) |
48 include_directories(${mcabber-lua_SOURCE_DIR} ${mcabber-lua_BINARY_DIR} ${MCABBER_INCLUDE_DIR}) |
48 include_directories(${mcabber-lua_SOURCE_DIR} ${mcabber-lua_BINARY_DIR} ${MCABBER_INCLUDE_DIR}) |
49 |
49 |
50 ## Extra targets |
50 ## Extra targets |
51 if(PERL_FOUND) |
51 if(PERL_FOUND) |
52 add_custom_command(OUTPUT ${mcabber-lua_BINARY_DIR}/mcabber-lua.html COMMAND ${PERL_EXECUTABLE} ${mcabber-lua_SOURCE_DIR}/docgen.pl ${mcabber-lua_SOURCES} > ${mcabber-lua_BINARY_DIR}/mcabber-lua.html DEPENDS ${mcabber-lua_SOURCE_DIR}/docgen.pl ${mcabber-lua_SOURCES} WORKING_DIRECTORY ${mcabber-lua_SOURCE_DIR}) |
52 add_custom_command(OUTPUT ${mcabber-lua_BINARY_DIR}/mcabber-lua.html COMMAND ${PERL_EXECUTABLE} ${mcabber-lua_SOURCE_DIR}/docgen.pl ${mcabber-lua_SOURCES} > ${mcabber-lua_BINARY_DIR}/mcabber-lua.html DEPENDS ${mcabber-lua_SOURCE_DIR}/docgen.pl ${mcabber-lua_SOURCES} WORKING_DIRECTORY ${mcabber-lua_SOURCE_DIR}) |
53 add_custom_target(doc ALL DEPENDS ${mcabber-lua_BINARY_DIR}/mcabber-lua.html) |
53 add_custom_target(doc ALL DEPENDS ${mcabber-lua_BINARY_DIR}/mcabber-lua.html) |
54 endif() |
54 endif() |
55 #add_custom_target(test COMMAND env "LUA_PATH=${lua-lm_SOURCE_DIR}/?.lua;${LUA_PATH}" "LUA_CPATH=${lua-lm_SOURCE_DIR}/?.so;${lua-lm_BINARY_DIR}/?.so;${LUA_CPATH}" lua ${lua-lm_SOURCE_DIR}/test.lua DEPENDS loudmouth VERBATIM) |
|
56 #add_custom_target(test1 COMMAND env "LUA_PATH=${lua-lm_SOURCE_DIR}/?.lua;${LUA_PATH}" "LUA_CPATH=${lua-lm_SOURCE_DIR}/?.so;${lua-lm_BINARY_DIR}/?.so;${LUA_CPATH}" lua ${lua-lm_BINARY_DIR}/test.lua DEPENDS loudmouth VERBATIM) |
|
57 |
55 |
58 ## Set up installer |
56 ## Set up installer |
59 install(TARGETS mcabber-lua DESTINATION lib/mcabber) |
57 install(TARGETS mcabber-lua DESTINATION lib/mcabber) |
60 #install(FILES lm.lua DESTINATION share/lua/5.1) |
|
61 #install(FILES test.lua DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples) |
|
62 if(PERL_FOUND) |
58 if(PERL_FOUND) |
63 install(FILES ${mcabber-lua_BINARY_DIR}/mcabber-lua.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
59 install(FILES ${mcabber-lua_BINARY_DIR}/mcabber-lua.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
64 endif() |
60 endif() |
65 install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
61 install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
66 install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
62 install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |