CMakeLists.txt
changeset 119 2e5d5571a4ba
parent 115 47bed161e3b0
child 121 75a7d595817c
equal deleted inserted replaced
118:1ad8103b72d6 119:2e5d5571a4ba
    30 find_package(Lua51 REQUIRED)
    30 find_package(Lua51 REQUIRED)
    31 find_package(PkgConfig REQUIRED)
    31 find_package(PkgConfig REQUIRED)
    32 pkg_check_modules(GLIB REQUIRED glib-2.0)
    32 pkg_check_modules(GLIB REQUIRED glib-2.0)
    33 pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
    33 pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
    34 pkg_check_modules(MCABBER REQUIRED mcabber)
    34 pkg_check_modules(MCABBER REQUIRED mcabber)
    35 find_package(Perl)
    35 find_program(DOCGEN_EXECUTABLE NAMES docgen.pl docgen DOC "Docgen documentation generator script (optional)")
    36 link_directories(${GLIB_LIBRARY_DIRS}
    36 link_directories(${GLIB_LIBRARY_DIRS}
    37 				 ${GMODULE_LIBRARY_DIRS}
    37 				 ${GMODULE_LIBRARY_DIRS}
    38 				 ${MCABBER_LIBRARY_DIRS})
    38 				 ${MCABBER_LIBRARY_DIRS})
    39 
    39 
    40 ## Define targets
    40 ## Define targets
    41 add_library(lua MODULE lua.c util.c)
    41 add_library(lua MODULE lua.c util.c)
       
    42 get_target_property(lua_SOURCES lua SOURCES)
    42 
    43 
    43 ## Set up compiler
    44 ## Set up compiler
    44 configure_file(config.h.in config.h ESCAPE_QUOTES)
    45 configure_file(config.h.in config.h ESCAPE_QUOTES)
    45 include_directories(SYSTEM ${LUA_INCLUDE_DIR}
    46 include_directories(SYSTEM ${LUA_INCLUDE_DIR}
    46 					${GLIB_INCLUDE_DIRS}
    47 					${GLIB_INCLUDE_DIRS}
    53 include_directories(${lua_SOURCE_DIR}
    54 include_directories(${lua_SOURCE_DIR}
    54 					${lua_BINARY_DIR})
    55 					${lua_BINARY_DIR})
    55 set_target_properties(lua PROPERTIES COMPILE_FLAGS "-Wall")
    56 set_target_properties(lua PROPERTIES COMPILE_FLAGS "-Wall")
    56 
    57 
    57 ## Extra targets
    58 ## Extra targets
    58 if(PERL_FOUND)
    59 if(DOCGEN_EXECUTABLE)
    59 	get_target_property(lua_SOURCES lua SOURCES)
    60 	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})
    60 	add_custom_command(OUTPUT ${lua_BINARY_DIR}/lua.html COMMAND ${PERL_EXECUTABLE} ${lua_SOURCE_DIR}/docgen.pl ${lua_SOURCES} > ${lua_BINARY_DIR}/lua.html DEPENDS ${lua_SOURCE_DIR}/docgen.pl ${lua_SOURCES} WORKING_DIRECTORY ${lua_SOURCE_DIR})
       
    61 	add_custom_target(doc ALL DEPENDS ${lua_BINARY_DIR}/lua.html)
    61 	add_custom_target(doc ALL DEPENDS ${lua_BINARY_DIR}/lua.html)
    62 endif()
    62 endif()
    63 
    63 
    64 ## Packaging information
    64 ## Packaging information
    65 set(CPACK_PACKAGE_NAME libmcabber-lua)
    65 set(CPACK_PACKAGE_NAME libmcabber-lua)
    91 
    91 
    92 configure_file(lua.avv.in lua.avv)
    92 configure_file(lua.avv.in lua.avv)
    93 
    93 
    94 ## Set up installer
    94 ## Set up installer
    95 install(TARGETS lua DESTINATION lib/mcabber)
    95 install(TARGETS lua DESTINATION lib/mcabber)
    96 if(PERL_FOUND)
    96 if(DOCGEN_EXECUTABLE)
    97 	install(FILES ${lua_BINARY_DIR}/lua.html DESTINATION share/doc/${CPACK_PACKAGE_NAME})
    97 	install(FILES ${lua_BINARY_DIR}/lua.html DESTINATION share/doc/${CPACK_PACKAGE_NAME})
    98 endif()
    98 endif()
    99 install(DIRECTORY examples DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE)
    99 install(DIRECTORY examples DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE)
   100 install(FILES README TODO COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME})
   100 install(FILES README TODO COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME})
   101 install(FILES ${PROJECT_BINARY_DIR}/lua.avv DESTINATION share/mcabber/avv/modules RENAME lua)
   101 install(FILES ${PROJECT_BINARY_DIR}/lua.avv DESTINATION share/mcabber/avv/modules RENAME lua)