cmake_minimum_required(VERSION 2.6.0) set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) if(COMMAND cmake_policy) cmake_policy(VERSION 2.6) endif() set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) if(NOT EXISTS ${SOURCE_DIR}/awesomeConfig.cmake) message(FATAL_ERROR "Please provide awesomeConfig.cmake") endif() include(awesomeConfig.cmake) include_directories( ${SOURCE_DIR} ${BUILD_DIR} ${BUILD_DIR}/common ${AWESOME_COMMON_REQUIRED_INCLUDE_DIRS} ${AWESOME_REQUIRED_INCLUDE_DIRS} ${AWESOME_OPTIONAL_INCLUDE_DIRS}) file(GLOB_RECURSE AWE_LUA_FILES ${BUILD_DIR}/lib/*.lua) set(AWE_CONF_FILE_DEFAULT ${BUILD_DIR}/awesomerc.lua) set(AWE_CONF_FILE rc.lua) set(AWE_ICON_DIR ${SOURCE_DIR}/icons) set(AWE_THEMES_DIR ${SOURCE_DIR}/themes) set(AWE_DOC_FILES ${SOURCE_DIR}/AUTHORS ${SOURCE_DIR}/BUGS ${SOURCE_DIR}/README ${SOURCE_DIR}/LICENSE) set(AWE_SRCS ${SOURCE_DIR}/awesome.c ${SOURCE_DIR}/client.c ${SOURCE_DIR}/cnode.c ${SOURCE_DIR}/dbus.c ${SOURCE_DIR}/event.c ${SOURCE_DIR}/property.c ${SOURCE_DIR}/ewmh.c ${SOURCE_DIR}/keybinding.c ${SOURCE_DIR}/keygrabber.c ${SOURCE_DIR}/layout.c ${SOURCE_DIR}/luaa.c ${SOURCE_DIR}/hooks.c ${SOURCE_DIR}/mouse.c ${SOURCE_DIR}/screen.c ${SOURCE_DIR}/stack.c ${SOURCE_DIR}/statusbar.c ${SOURCE_DIR}/wibox.c ${SOURCE_DIR}/systray.c ${SOURCE_DIR}/tag.c ${SOURCE_DIR}/titlebar.c ${SOURCE_DIR}/widget.c ${SOURCE_DIR}/window.c ${SOURCE_DIR}/image.c ${SOURCE_DIR}/draw.c ${SOURCE_DIR}/swindow.c ${SOURCE_DIR}/common/buffer.c ${SOURCE_DIR}/common/atoms.c ${SOURCE_DIR}/common/markup.c ${SOURCE_DIR}/common/socket.c ${SOURCE_DIR}/common/util.c ${SOURCE_DIR}/common/version.c ${SOURCE_DIR}/common/xembed.c ${SOURCE_DIR}/common/xutil.c ${SOURCE_DIR}/layouts/fibonacci.c ${SOURCE_DIR}/layouts/floating.c ${SOURCE_DIR}/layouts/magnifier.c ${SOURCE_DIR}/layouts/fair.c ${SOURCE_DIR}/layouts/max.c ${SOURCE_DIR}/layouts/tile.c ${SOURCE_DIR}/widgets/graph.c ${SOURCE_DIR}/widgets/progressbar.c ${SOURCE_DIR}/widgets/textbox.c ${SOURCE_DIR}/widgets/systray.c ${SOURCE_DIR}/widgets/imagebox.c) set(AWE_CLIENT_SRCS ${SOURCE_DIR}/awesome-client.c ${SOURCE_DIR}/common/socket.c ${SOURCE_DIR}/common/util.c ${SOURCE_DIR}/common/version.c) set(AWE_MAN_SRCS ${SOURCE_DIR}/awesome.1.txt ${SOURCE_DIR}/awsetbg.1.txt ${SOURCE_DIR}/awesome-client.1.txt ${SOURCE_DIR}/awesomerc.5.txt) set(AWE_MAN_LANG ja) # {{{ Manpages if(GENERATE_MANPAGES) foreach(txtfile ${AWE_MAN_SRCS}) string(REGEX REPLACE ".txt\$" ".xml" xmlfile ${txtfile}) string(REPLACE ${SOURCE_DIR} ${BUILD_DIR} xmlfile ${xmlfile}) string(REGEX REPLACE ".xml\$" ".pot" potfile ${xmlfile}) string(REGEX REPLACE ".xml\$" ".gz" gzfile ${xmlfile}) string(REGEX REPLACE ".gz\$" "" manfile ${gzfile}) add_custom_command( COMMAND ${CAT_EXECUTABLE} ${txtfile} | ${ASCIIDOC_EXECUTABLE} -d manpage -b docbook -o ${xmlfile} - WORKING_DIRECTORY ${BUILD_DIR} OUTPUT ${xmlfile} DEPENDS ${txtfile} VERBATIM) add_custom_command( COMMAND ${PO4AGETTEXTIZE_EXECUTABLE} -f docbook -m ${xmlfile} -p ${potfile} OUTPUT ${potfile} DEPENDS ${xmlfile} VERBATIM) foreach(polang ${AWE_MAN_LANG}) STRING(REGEX REPLACE ".txt" ".${polang}.po" pofile "${txtfile}" ) STRING(REGEX REPLACE ".txt" ".${polang}.xml" poxml "${txtfile}" ) STRING(REGEX REPLACE ".txt" ".${polang}" poman "${txtfile}" ) add_custom_command( COMMAND ${PO4ATRANSLATE_EXECUTABLE} -f docbook -m ${xmlfile} -p ${pofile} -l ${poxml} OUTPUT ${poxml} DEPENDS ${xmlfile} VERBATIM) # po4a-translate -f docbook -m awesome.1.xml -p ja.po -l a.xml add_custom_command( COMMAND ${XMLTO_EXECUTABLE} man ${poxml} OUTPUT ${poman} DEPENDS ${xmlfile} ${potfile} ${poxml}) endforeach() add_custom_command( COMMAND ${XMLTO_EXECUTABLE} man ${xmlfile} OUTPUT ${manfile} DEPENDS ${xmlfile} ${potfile} ${poxml} ${poman}) add_custom_command( COMMAND ${CAT_EXECUTABLE} ${manfile} | ${GZIP_EXECUTABLE} > ${gzfile} OUTPUT ${gzfile} DEPENDS ${manfile} VERBATIM) set(MAN_FILES ${MAN_FILES} ${gzfile}) # figure out in what section to install to from filename string(REGEX REPLACE "^.*\\.([0-9])\\.gz\$" "\\1" section ${gzfile}) set(AWE_MAN${section}_FILES ${AWE_MAN${section}_FILES} ${gzfile}) endforeach() add_custom_target(man ALL DEPENDS ${MAN_FILES}) endif() # }}} ## vim: filetype=cmake:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80