annotate CMakeLists.txt @ 9:18890b4edcb2

Deferred copy
author David Demelier <markand@malikania.fr>
date Sun, 21 Feb 2016 10:27:51 +0100
parents 5e018b977bbd
children 695e236cd48b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
1 #
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
2 # CMakeLists.txt -- CMake build system for irccd-web
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
3 #
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
4 # Copyright (c) 2016 David Demelier <markand@malikania.fr>
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
5 #
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
8 # copyright notice and this permission notice appear in all copies.
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
9 #
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
17 #
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
18
0
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 cmake_minimum_required(VERSION 3.0)
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 project(irccd-web)
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd-web_SOURCE_DIR}/cmake)
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 find_package(Pandoc REQUIRED)
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
7
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
26 set(WITH_IRCCDDOCDIR "" CACHE STRING "Location of irccd documentation directory")
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
27
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
28 if (NOT WITH_IRCCDDOCDIR)
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
29 message(FATAL_ERROR "Please define WITH_IRCCDDOCDIR to the irccd's documentation output")
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
30 elseif (NOT EXISTS "${WITH_IRCCDDOCDIR}/guide.html")
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
31 message(FATAL_ERROR "Invalid directory given (did you build the documentation?)")
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
32 endif ()
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
33
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
34 # Some variables
0
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 set(TEMPLATE ${irccd-web_SOURCE_DIR}/templates/template.html)
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 set(OUTPUT ${CMAKE_BINARY_DIR}/html)
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
37 set(SOURCE ${CMAKE_SOURCE_DIR})
3
fa68715e621f - Add more templates as sources to be shown in the IDE,
David Demelier <markand@malikania.fr>
parents: 2
diff changeset
38 set(JS ${CMAKE_SOURCE_DIR}/js/joke.js)
fa68715e621f - Add more templates as sources to be shown in the IDE,
David Demelier <markand@malikania.fr>
parents: 2
diff changeset
39 set(CSS ${CMAKE_SOURCE_DIR}/css/irccd.css)
0
3aa05e02d136 Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
41 # Define the files to generate.
6
1b6953be3a7b Update templates
David Demelier <markand@malikania.fr>
parents: 5
diff changeset
42 set(FILES about contribute documentation documentation download index support)
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
43
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
44 # Arguments for specific files.
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
45 set(index_VARS home:yes)
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
46
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
47 foreach (f ${FILES})
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
48 pandoc(
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
49 OUTPUT ${OUTPUT}/${f}.html
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
50 SOURCES ${SOURCE}/${f}.md
6
1b6953be3a7b Update templates
David Demelier <markand@malikania.fr>
parents: 5
diff changeset
51 VARIABLE baseurl:. web:1 general:1 ${${f}_VARS}
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
52 FROM markdown
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
53 TO html5
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
54 ARGS --no-highlight
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
55 TEMPLATE ${TEMPLATE}
9
18890b4edcb2 Deferred copy
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
56 MAKE_DIRECTORY
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
57 )
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
58
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
59 list(APPEND OUTPUTS ${OUTPUT}/${f}.html)
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
60 list(APPEND SOURCES ${SOURCE}/${f}.md)
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
61 endforeach ()
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
62
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
63 add_custom_target(
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
64 files
3
fa68715e621f - Add more templates as sources to be shown in the IDE,
David Demelier <markand@malikania.fr>
parents: 2
diff changeset
65 SOURCES ${SOURCES} ${TEMPLATE} ${CSS} ${JS}
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
66 DEPENDS ${OUTPUTS}
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
67 )
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
68
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
69 add_custom_target(
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
70 web
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
71 ALL
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
72 COMMENT "Generating website"
9
18890b4edcb2 Deferred copy
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
73 COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/css
18890b4edcb2 Deferred copy
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
74 COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/js
18890b4edcb2 Deferred copy
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
75 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/css ${OUTPUT}/css
18890b4edcb2 Deferred copy
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
76 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/js ${OUTPUT}/js
7
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
77 COMMAND ${CMAKE_COMMAND} -E copy ${WITH_IRCCDDOCDIR}/guide.html ${OUTPUT}
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
78 COMMAND ${CMAKE_COMMAND} -E copy_directory ${WITH_IRCCDDOCDIR}/css ${OUTPUT}/css
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
79 COMMAND ${CMAKE_COMMAND} -E copy_directory ${WITH_IRCCDDOCDIR}/api ${OUTPUT}/api
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
80 COMMAND ${CMAKE_COMMAND} -E copy_directory ${WITH_IRCCDDOCDIR}/plugin ${OUTPUT}/plugin
2
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
81 DEPENDS files
31a29a1e66d7 Import highlight.js, add more templates
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
82 )
7
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
83
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
84 message("")
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
85 message("Don't forget to set WITH_WEB into the irccd's build directory !")
5e018b977bbd Copy irccd documentation
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
86 message("")