CMakeLists.txt
changeset 27 23393a00c2c1
parent 26 1f7e8b53b255
child 28 2e4650583dd7
equal deleted inserted replaced
26:1f7e8b53b255 27:23393a00c2c1
    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})