CMakeLists.txt
changeset 145 9f7bbb768ba8
parent 144 690b5524b895
child 147 66a63c9609de
equal deleted inserted replaced
144:690b5524b895 145:9f7bbb768ba8
    40 	set(HAVE_LUA52  "1")
    40 	set(HAVE_LUA52  "1")
    41 else()
    41 else()
    42 	set(LUA_VERSION "5.1")
    42 	set(LUA_VERSION "5.1")
    43 	set(LUA_INCLUDE_DIRS ${LUA_INCLUDE_DIR})
    43 	set(LUA_INCLUDE_DIRS ${LUA_INCLUDE_DIR})
    44 endif()
    44 endif()
       
    45 string(REPLACE "." "" LUA_MODULENAME "lua${LUA_VERSION}")
    45 pkg_check_modules(GLIB REQUIRED glib-2.0)
    46 pkg_check_modules(GLIB REQUIRED glib-2.0)
    46 pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
    47 pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
    47 pkg_check_modules(MCABBER REQUIRED mcabber)
    48 pkg_check_modules(MCABBER REQUIRED mcabber)
    48 find_program(DOCGEN_EXECUTABLE NAMES docgen.pl docgen DOC "Docgen documentation generator script (optional)")
    49 find_program(DOCGEN_EXECUTABLE NAMES docgen.pl docgen DOC "Docgen documentation generator script (optional)")
    49 include(CheckCSourceCompiles)
    50 include(CheckCSourceCompiles)
    75 					  ${GLIB_LIBRARIES}
    76 					  ${GLIB_LIBRARIES}
    76 					  ${GMODULE_LIBRARIES}
    77 					  ${GMODULE_LIBRARIES}
    77 					  ${MCABBER_LIBRARRIES})
    78 					  ${MCABBER_LIBRARRIES})
    78 include_directories(${lua_SOURCE_DIR}
    79 include_directories(${lua_SOURCE_DIR}
    79 					${lua_BINARY_DIR})
    80 					${lua_BINARY_DIR})
    80 set_target_properties(lua PROPERTIES COMPILE_FLAGS "-Wall" OUTPUT_NAME "lua${LUA_VERSION}")
    81 set_target_properties(lua PROPERTIES COMPILE_FLAGS "-Wall" OUTPUT_NAME "${LUA_MODULENAME}")
    81 
    82 
    82 ## Extra targets
    83 ## Extra targets
    83 if(DOCGEN_EXECUTABLE)
    84 if(DOCGEN_EXECUTABLE)
    84 	add_custom_command(OUTPUT ${lua_BINARY_DIR}/lua.html      COMMAND ${DOCGEN_EXECUTABLE} -f html -t "Documentation for Lua module for MCabber" -o ${lua_BINARY_DIR}/lua.html      -- ${lua_SOURCES} DEPENDS ${DOCGEN_EXECUTABLE} ${lua_SOURCES} WORKING_DIRECTORY ${lua_SOURCE_DIR})
    85 	add_custom_command(OUTPUT ${lua_BINARY_DIR}/lua.html      COMMAND ${DOCGEN_EXECUTABLE} -f html -t "Documentation for Lua module for MCabber" -o ${lua_BINARY_DIR}/lua.html      -- ${lua_SOURCES} DEPENDS ${DOCGEN_EXECUTABLE} ${lua_SOURCES} WORKING_DIRECTORY ${lua_SOURCE_DIR})
    85 	add_custom_target(doc    ALL DEPENDS ${lua_BINARY_DIR}/lua.html)
    86 	add_custom_target(doc    ALL DEPENDS ${lua_BINARY_DIR}/lua.html)
    86 	add_custom_command(OUTPUT ${lua_SOURCE_DIR}/docs/api.mdwn COMMAND ${DOCGEN_EXECUTABLE} -f mdwn -t "Documentation for Lua module for MCabber" -o ${lua_SOURCE_DIR}/docs/api.mdwn -- ${lua_SOURCES} DEPENDS ${DOCGEN_EXECUTABLE} ${lua_SOURCES} WORKING_DIRECTORY ${lua_SOURCE_DIR})
    87 	add_custom_command(OUTPUT ${lua_SOURCE_DIR}/docs/api.mdwn COMMAND ${DOCGEN_EXECUTABLE} -f mdwn -t "Documentation for Lua module for MCabber" -o ${lua_SOURCE_DIR}/docs/api.mdwn -- ${lua_SOURCES} DEPENDS ${DOCGEN_EXECUTABLE} ${lua_SOURCES} WORKING_DIRECTORY ${lua_SOURCE_DIR})
    87 	add_custom_target(update_api DEPENDS ${lua_SOURCE_DIR}/docs/api.mdwn)
    88 	add_custom_target(update_api DEPENDS ${lua_SOURCE_DIR}/docs/api.mdwn)
    88 endif()
    89 endif()
    89 
    90 
    90 ## Packaging information
    91 ## Packaging information
    91 set(CPACK_PACKAGE_NAME                mcabber-mod-lua${LUA_VERSION})
    92 set(CPACK_PACKAGE_NAME                mcabber-mod-${LUA_MODULENAME})
    92 set(CPACK_PACKAGE_VERSION             ${PROJECT_VERSION})
    93 set(CPACK_PACKAGE_VERSION             ${PROJECT_VERSION})
    93 set(CPACK_PACKAGE_VENDOR              "IsBear")
    94 set(CPACK_PACKAGE_VENDOR              "IsBear")
    94 set(CPACK_PACKAGE_CONTACT             "Myhailo Danylenko <isbear@ukrpost.net>")
    95 set(CPACK_PACKAGE_CONTACT             "Myhailo Danylenko <isbear@ukrpost.net>")
    95 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mcabber module for lua ${LUA_VERSION} scripting")
    96 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mcabber module for lua ${LUA_VERSION} scripting")
    96 set(CPACK_PACKAGE_DESCRIPTION_FILE    ${lua_SOURCE_DIR}/README)
    97 set(CPACK_PACKAGE_DESCRIPTION_FILE    ${lua_SOURCE_DIR}/README)
   118 if(HAVE_MCABBER_COMPLETION_FLAGS)
   119 if(HAVE_MCABBER_COMPLETION_FLAGS)
   119 	set(AVV_COMPL_VERSION "compl:4")
   120 	set(AVV_COMPL_VERSION "compl:4")
   120 else()
   121 else()
   121 	set(AVV_COMPL_VERSION "compl:3")
   122 	set(AVV_COMPL_VERSION "compl:3")
   122 endif()
   123 endif()
   123 string(REPLACE "." "_" AVV_FILENAME "lua${LUA_VERSION}")
   124 configure_file(lua.avv.in ${LUA_MODULENAME}.avv)
   124 set(MODULE_RELATIVE_PATH "lib/mcabber/${CMAKE_SHARED_MODULE_PREFIX}lua${LUA_VERSION}${CMAKE_SHARED_MODULE_SUFFIX}")
       
   125 configure_file(lua.avv.in.in "${AVV_FILENAME}.avv.in" @ONLY)
       
   126 
   125 
   127 ## Set up installer
   126 ## Set up installer
   128 install(TARGETS   lua                           DESTINATION lib/mcabber)
   127 install(TARGETS   lua                           DESTINATION lib/mcabber)
   129 if(DOCGEN_EXECUTABLE)
   128 if(DOCGEN_EXECUTABLE)
   130 	install(FILES ${lua_BINARY_DIR}/lua.html    DESTINATION share/doc/${CPACK_PACKAGE_NAME})
   129 	install(FILES ${lua_BINARY_DIR}/lua.html    DESTINATION share/doc/${CPACK_PACKAGE_NAME})
   131 endif()
   130 endif()
   132 install(DIRECTORY examples                      DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE)
   131 install(DIRECTORY examples                      DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE)
   133 install(FILES     docs/readme.mdwn docs/todo.mdwn COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME})
   132 install(FILES     docs/readme.mdwn docs/todo.mdwn COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME})
   134 install(FILES     help/en/hlp_lua.txt           DESTINATION share/mcabber RENAME hlp_lua${LUA_VERSION}.txt) # XXX localizations/other help
   133 install(FILES     help/en/hlp_lua.txt           DESTINATION share/mcabber RENAME hlp_lua${LUA_VERSION}.txt) # XXX localizations/other help
   135 install(CODE      "configure_file(${PROJECT_BINARY_DIR}/${AVV_FILENAME}.avv.in ${PROJECT_BINARY_DIR}/${AVV_FILENAME}.avv)")
   134 install(FILES     ${PROJECT_BINARY_DIR}/${LUA_MODULENAME}.avv DESTINATION share/mcabber/avv/modules RENAME ${LUA_MODULENAME})
   136 install(FILES     ${PROJECT_BINARY_DIR}/${AVV_FILENAME}.avv DESTINATION share/mcabber/avv/modules RENAME ${AVV_FILENAME})
       
   137 
   135 
   138 ## The End ## vim: se ts=4 sw=4: ##
   136 ## The End ## vim: se ts=4 sw=4: ##