CMakeLists.txt
changeset 6 90073cbb535d
parent 5 e617c9cf6dd3
child 7 5db1448eb857
equal deleted inserted replaced
5:e617c9cf6dd3 6:90073cbb535d
     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: ##