diff -r afcdbbce5002 -r 493d5d5198c8 CMakeLists.txt --- a/CMakeLists.txt Sun Jan 17 02:58:44 2010 +0200 +++ b/CMakeLists.txt Sun Jan 17 11:52:35 2010 +0200 @@ -24,10 +24,55 @@ set(TEST_TO "test@jabber.org/mcabber" CACHE STRING "Testing: Target jabber entity") 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") +## Gather information about system +find_package(Lua51 REQUIRED) +find_program(LUA_EXECUTABLE lua lua5.1 luanoreadline) +if(LUA_EXECUTABLE) + execute_process(COMMAND ${LUA_EXECUTABLE} -e "print ( package.path )" OUTPUT_VARIABLE LUA_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${LUA_EXECUTABLE} -e "print ( package.cpath )" OUTPUT_VARIABLE LUA_CPATH OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() +find_package(PkgConfig REQUIRED) +pkg_check_modules(GLIB REQUIRED glib-2.0) +pkg_check_modules(LM REQUIRED loudmouth-1.0) +include(CheckFunctionExists) +set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS}) +set(CMAKE_REQUIRED_LIBRARIES ${LM_LIBRARIES}) +set(CMAKE_REQUIRED_FLAGS ${LM_LDFLAGS} ${LM_CFLAGS}) +check_function_exists(lm_connection_get_keep_alive_rate HAVE_LM_CONNECTION_GET_KEEP_ALIVE_RATE) +check_function_exists(lm_connection_unregister_reply_handler HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER) +find_package(Perl) +# (this should be before targets definitions) +link_directories(${LUA_LIBRARY_DIRS} ${GLIB_LIBRARY_DIRS} ${LM_LIBRARY_DIRS}) + ## Define targets 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) get_target_property(lua-lm_SOURCES loudmouth SOURCES) +## Set up compiler +configure_file(config.h.in config.h) +include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${LM_INCLUDE_DIRS}) +target_link_libraries(loudmouth ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${LM_LIBRARIES}) +include_directories(${lua-lm_SOURCE_DIR} ${lua-lm_BINARY_DIR}) +set_target_properties(loudmouth PROPERTIES PREFIX "") + +## Extra targets +if(PERL_FOUND) + add_custom_command(OUTPUT ${lua-lm_BINARY_DIR}/loudmouth.html COMMAND ${PERL_EXECUTABLE} ${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}) + add_custom_target(doc ALL DEPENDS ${lua-lm_BINARY_DIR}/loudmouth.html) +endif() +if(LUA_EXECUTABLE) + 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_EXECUTABLE}" "${lua-lm_SOURCE_DIR}/test.lua" "${TEST_USER}" "${TEST_PASSWORD}" "${TEST_TO}" "${TEST_FINGERPRINT}" DEPENDS loudmouth VERBATIM) +endif() + +## Set up installer +install(TARGETS loudmouth DESTINATION lib/lua/5.1) +install(FILES lm.lua DESTINATION share/lua/5.1) +install(FILES test.lua DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples) +if(PERL_FOUND) + install(FILES ${lua-lm_BINARY_DIR}/loudmouth.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) +endif() +install(FILES README TODO COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME}) + ## Packaging information set(CPACK_PACKAGE_NAME liblua5.1-loudmouth) set(CPACK_PACKAGE_VERSION "0.9.0") @@ -55,48 +100,4 @@ set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") include(CPack) -## Gather information about system -find_package(Lua51 REQUIRED) -find_program(LUA_EXECUTABLE lua lua5.1 luanoreadline) -if(LUA_EXECUTABLE) - execute_process(COMMAND ${LUA_EXECUTABLE} -e "print ( package.path )" OUTPUT_VARIABLE LUA_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${LUA_EXECUTABLE} -e "print ( package.cpath )" OUTPUT_VARIABLE LUA_CPATH OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() -find_package(PkgConfig REQUIRED) -pkg_check_modules(GLIB REQUIRED glib-2.0) -pkg_check_modules(LM REQUIRED loudmouth-1.0) -include(CheckFunctionExists) -set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS}) -set(CMAKE_REQUIRED_LIBRARIES ${LM_LIBRARIES}) -check_function_exists(lm_connection_get_keep_alive_rate HAVE_LM_CONNECTION_GET_KEEP_ALIVE_RATE) -check_function_exists(lm_connection_unregister_reply_handler HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER) -find_package(Perl) - -## Set up compiler -configure_file(config.h.in config.h) -include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${LM_INCLUDE_DIRS}) -target_link_libraries(loudmouth ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${LM_LIBRARIES}) -include_directories(${lua-lm_SOURCE_DIR} ${lua-lm_BINARY_DIR}) -set_target_properties(loudmouth PROPERTIES PREFIX "") - -## Extra targets -if(PERL_FOUND) - add_custom_command(OUTPUT ${lua-lm_BINARY_DIR}/loudmouth.html COMMAND ${PERL_EXECUTABLE} ${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}) - add_custom_target(doc ALL DEPENDS ${lua-lm_BINARY_DIR}/loudmouth.html) -endif() -if(LUA_EXECUTABLE) - 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_EXECUTABLE}" "${lua-lm_SOURCE_DIR}/test.lua" "${TEST_USER}" "${TEST_PASSWORD}" "${TEST_TO}" "${TEST_FINGERPRINT}" DEPENDS loudmouth VERBATIM) -endif() - -## Set up installer -install(TARGETS loudmouth DESTINATION lib/lua/5.1) -install(FILES lm.lua DESTINATION share/lua/5.1) -install(FILES test.lua DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples) -if(PERL_FOUND) - install(FILES ${lua-lm_BINARY_DIR}/loudmouth.html DESTINATION share/doc/${CPACK_PACKAGE_NAME}) -endif() -install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) -install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME}) -install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME}) - ## The End ## vim: se ts=4: ##