1 |
1 |
2 cmake_minimum_required(VERSION 2.6) |
2 cmake_minimum_required(VERSION 2.6) |
3 project(lua-lm C) |
3 project(lua-lm C) |
4 |
4 |
5 ## User options |
5 ## User options |
6 option(DEBUG "Enable debugging output" OFF) |
6 option(DEBUG "Enable debugging output" ON) |
7 |
7 |
8 ## Define targets |
8 ## Define targets |
9 add_library(loudmouth MODULE util.c lm_types.c lm_proxy.c lm_ssl.c lm_connection.c lm_message.c lm_message_node.c lm_message_handler.c lm.c) |
9 add_library(loudmouth MODULE util.c lm_types.c lm_proxy.c lm_ssl.c lm_connection.c lm_message.c lm_message_node.c lm_message_handler.c lm.c) |
10 get_target_property(lua-lm_SOURCES loudmouth SOURCES) |
10 get_target_property(lua-lm_SOURCES loudmouth SOURCES) |
11 configure_file(config.h.in config.h) |
|
12 |
11 |
13 ## Packaging information |
12 ## Packaging information |
14 set(CPACK_PACKAGE_NAME liblua5.1-loudmouth) |
13 set(CPACK_PACKAGE_NAME liblua5.1-loudmouth) |
15 set(CPACK_PACKAGE_VERSION_MAJOR 0) |
14 set(CPACK_PACKAGE_VERSION_MAJOR 0) |
16 set(CPACK_PACKAGE_VERSION_MINOR 0) |
15 set(CPACK_PACKAGE_VERSION_MINOR 0) |
36 execute_process(COMMAND lua -e "print ( package.path )" OUTPUT_VARIABLE LUA_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
35 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) |
36 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(LM REQUIRED loudmouth-1.0) |
39 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
|
40 include(CheckFunctionExists) |
|
41 set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS}) |
|
42 set(CMAKE_REQUIRED_LIBRARIES ${LM_LIBRARIES}) |
|
43 check_function_exists(lm_connection_get_keep_alive_rate HAVE_LM_CONNECTION_GET_KEEP_ALIVE_RATE) |
|
44 find_package(Perl) |
41 |
45 |
42 ## Set up compiler |
46 ## Set up compiler |
|
47 configure_file(config.h.in config.h) |
43 include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${LM_INCLUDE_DIRS}) |
48 include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${LM_INCLUDE_DIRS}) |
44 target_link_libraries(loudmouth ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${LM_LIBRARIES}) |
49 target_link_libraries(loudmouth ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${LM_LIBRARIES}) |
45 include_directories(${lua-lm_SOURCE_DIR} ${lua-lm_BINARY_DIR}) |
50 include_directories(${lua-lm_SOURCE_DIR} ${lua-lm_BINARY_DIR}) |
46 set_target_properties(loudmouth PROPERTIES PREFIX "") |
51 set_target_properties(loudmouth PROPERTIES PREFIX "") |
47 |
52 |
48 ## Extra targets |
53 ## Extra targets |
49 add_custom_command(OUTPUT ${lua-lm_BINARY_DIR}/loudmouth.html COMMAND ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} > ${lua-lm_BINARY_DIR}/loudmouth.html DEPENDS ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} WORKING_DIRECTORY ${lua-lm_SOURCE_DIR}) |
54 if(PERL_FOUND) |
50 add_custom_target(doc ALL DEPENDS ${lua-lm_BINARY_DIR}/loudmouth.html) |
55 add_custom_command(OUTPUT ${lua-lm_BINARY_DIR}/loudmouth.html COMMAND ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} > ${lua-lm_BINARY_DIR}/loudmouth.html DEPENDS ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} WORKING_DIRECTORY ${lua-lm_SOURCE_DIR}) |
|
56 add_custom_target(doc ALL DEPENDS ${lua-lm_BINARY_DIR}/loudmouth.html) |
|
57 endif() |
51 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) |
58 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) |
|
59 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) |
52 |
60 |
53 ## Set up installer |
61 ## Set up installer |
54 install(TARGETS loudmouth DESTINATION lib/lua/5.1) |
62 install(TARGETS loudmouth DESTINATION lib/lua/5.1) |
55 install(FILES lm.lua DESTINATION share/lua/5.1) |
63 install(FILES lm.lua DESTINATION share/lua/5.1) |
56 install(FILES test.lua DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples) |
64 install(FILES test.lua DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples) |
57 install(FILES ${lua-lm_BINARY_DIR}/loudmouth.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
65 if(PERL_FOUND) |
|
66 install(FILES ${lua-lm_BINARY_DIR}/loudmouth.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
|
67 endif() |
58 install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
68 install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
59 install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
69 install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
60 install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
70 install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
61 |
71 |
62 ## The End ## vim: se ts=4: ## |
72 ## The End ## vim: se ts=4: ## |