17 cmake_minimum_required(VERSION 2.6) |
17 cmake_minimum_required(VERSION 2.6) |
18 project(lua-lm C) |
18 project(lua-lm C) |
19 |
19 |
20 ## User options |
20 ## User options |
21 option(DEBUG "Enable debugging output" OFF) |
21 option(DEBUG "Enable debugging output" OFF) |
22 set(TEST_USER "test@jabber.org" CACHE TEXT "Testing: Your jabber account name") |
22 set(TEST_USER "test@jabber.org" CACHE STRING "Testing: Your jabber account name") |
23 set(TEST_PASSWORD "greatsecret" CACHE TEXT "Testing: Password for your jabber account") |
23 set(TEST_PASSWORD "greatsecret" CACHE STRING "Testing: Password for your jabber account") |
24 set(TEST_TO "test@jabber.org/mcabber" CACHE TEXT "Testing: Target jabber entity") |
24 set(TEST_TO "test@jabber.org/mcabber" CACHE STRING "Testing: Target jabber entity") |
25 set(TEST_FINGERPRINT "00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff" CACHE TEXT "Testing: Your jabber server SSL fingerprint") |
25 set(TEST_FINGERPRINT "00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff" CACHE STRING "Testing: Your jabber server SSL fingerprint") |
26 |
26 |
27 ## Define targets |
27 ## Define targets |
28 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) |
28 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) |
29 get_target_property(lua-lm_SOURCES loudmouth SOURCES) |
29 get_target_property(lua-lm_SOURCES loudmouth SOURCES) |
30 |
30 |
43 set(CPACK_DEBIAN_PACKAGE_SECTION libs) |
43 set(CPACK_DEBIAN_PACKAGE_SECTION libs) |
44 # XXX: tmp=`tempfile`; obj=${lua-lm_BINARY_DIR}/loudmouth.so; ldd $obj > $tmp; objdump -p $obj | \grep NEEDED | sed -e 's/.*NEEDED *//' | xargs -I "{}" grep -F "{}" $tmp | sed -e 's/.*=> *\(\S*\).*/\1/' | xargs dpkg -S | cut -d : -f 1 | sort -u ; \rm $tmp |
44 # XXX: tmp=`tempfile`; obj=${lua-lm_BINARY_DIR}/loudmouth.so; ldd $obj > $tmp; objdump -p $obj | \grep NEEDED | sed -e 's/.*NEEDED *//' | xargs -I "{}" grep -F "{}" $tmp | sed -e 's/.*=> *\(\S*\).*/\1/' | xargs dpkg -S | cut -d : -f 1 | sort -u ; \rm $tmp |
45 # TODO: versions |
45 # TODO: versions |
46 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libglib2.0-0, liblua5.1-0, libloudmouth1-0") |
46 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libglib2.0-0, liblua5.1-0, libloudmouth1-0") |
47 set(CPACK_SOURCE_GENERATOR TBZ2) |
47 set(CPACK_SOURCE_GENERATOR TBZ2) |
48 set(CPACK_GENERATOR DEB CACHE TEXT "Binary package generator, eg DEB, RPM, TGZ, NSIS...") |
48 set(CPACK_GENERATOR DEB CACHE STRING "Binary package generator, eg DEB, RPM, TGZ, NSIS...") |
49 # FIXME: Detect architecture. How? Though, it anyway produces nonconformant deb names... |
49 # FIXME: Detect architecture. How? Though, it anyway produces nonconformant deb names... |
50 set(CPACK_SYSTEM_NAME i386) |
50 set(CPACK_SYSTEM_NAME i386) |
51 # XXX: Set package name directly to get rid of -Sources? |
51 # XXX: Set package name directly to get rid of -Sources? |
52 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
52 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
53 include(CPack) |
53 include(CPack) |
54 |
54 |
55 ## Gather information about system |
55 ## Gather information about system |
56 find_package(Lua51 REQUIRED) |
56 find_package(Lua51 REQUIRED) |
57 find_program(LUA_EXECUTABLE lua lua5.1 luanoreadline) |
57 find_program(LUA_EXECUTABLE lua lua5.1 luanoreadline) |
58 execute_process(COMMAND lua -e "print ( package.path )" OUTPUT_VARIABLE LUA_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
58 if(LUA_EXECUTABLE) |
59 execute_process(COMMAND lua -e "print ( package.cpath )" OUTPUT_VARIABLE LUA_CPATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
59 execute_process(COMMAND ${LUA_EXECUTABLE} -e "print ( package.path )" OUTPUT_VARIABLE LUA_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
60 execute_process(COMMAND ${LUA_EXECUTABLE} -e "print ( package.cpath )" OUTPUT_VARIABLE LUA_CPATH OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
61 endif() |
60 find_package(PkgConfig REQUIRED) |
62 find_package(PkgConfig REQUIRED) |
61 pkg_check_modules(GLIB REQUIRED glib-2.0) |
63 pkg_check_modules(GLIB REQUIRED glib-2.0) |
62 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
64 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
63 include(CheckFunctionExists) |
65 include(CheckFunctionExists) |
64 set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS}) |
66 set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS}) |