Mercurial > irccd-www
view CMakeLists.txt @ 14:d9961bad8788
Put correct link
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 01 Mar 2016 09:00:37 +0100 |
parents | cc368e32db24 |
children | 40ad0e7bc0f0 |
line wrap: on
line source
# # CMakeLists.txt -- CMake build system for irccd-web # # Copyright (c) 2016 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # cmake_minimum_required(VERSION 3.0) project(irccd-web) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd-web_SOURCE_DIR}/cmake) find_package(Pandoc REQUIRED) # Some variables set(URL http://releases.malikania.fr/irccd/irccd-2.0.0.tar.xz) set(TEMPLATE ${irccd-web_SOURCE_DIR}/templates/template.html) set(TEMPLATE_DOC ${irccd-web_SOURCE_DIR}/templates/template-doc.html) set(OUTPUT ${CMAKE_BINARY_DIR}/html) set(SOURCE ${CMAKE_SOURCE_DIR}) set(JS ${CMAKE_SOURCE_DIR}/js/joke.js) set(CSS ${CMAKE_SOURCE_DIR}/css/irccd.css) set(IRCCD_SOURCE_DIR ${CMAKE_BINARY_DIR}/irccd-source) set(IRCCD_BINARY_DIR ${CMAKE_BINARY_DIR}/irccd-build) # Compile irccd's documentation include(ExternalProject) ExternalProject_Add( irccd URL ${URL} CMAKE_ARGS -DWITH_SSL=Off -DWITH_TESTS=Off -DWITH_DOXYGEN=Off -DWITH_DOCDIR=_DOCS_ PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${TEMPLATE_DOC} ${IRCCD_SOURCE_DIR}/doc/html/resources/template.html BUILD_COMMAND COMMAND ${CMAKE_COMMAND} --build . --target docs COMMAND ${CMAKE_COMMAND} --build . --target plugins INSTALL_COMMAND "" UPDATE_COMMAND "" BINARY_DIR ${IRCCD_BINARY_DIR} SOURCE_DIR ${IRCCD_SOURCE_DIR} ) # Define the files to generate. set(FILES about contribute documentation documentation download index support) # Arguments for specific files. set(index_VARS home:yes) foreach (f ${FILES}) pandoc( OUTPUT ${OUTPUT}/${f}.html SOURCES ${SOURCE}/${f}.md VARIABLE baseurl:. ${${f}_VARS} FROM markdown TO html5 ARGS --no-highlight TEMPLATE ${TEMPLATE} MAKE_DIRECTORY ) list(APPEND OUTPUTS ${OUTPUT}/${f}.html) list(APPEND SOURCES ${SOURCE}/${f}.md) endforeach () add_custom_target( files SOURCES ${SOURCES} ${TEMPLATE} ${TEMPLATE_DOC} ${CSS} ${JS} DEPENDS ${OUTPUTS} ) add_custom_target( web ALL COMMENT "Generating website" COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/css COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/js COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/css ${OUTPUT}/css COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/js ${OUTPUT}/js COMMAND ${CMAKE_COMMAND} -E copy_directory ${IRCCD_BINARY_DIR}/fakeroot/_DOCS_ ${OUTPUT} DEPENDS files )