Mercurial > irccd-www
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 |
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 | 19 cmake_minimum_required(VERSION 3.0) |
20 project(irccd-web) | |
21 | |
22 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${irccd-web_SOURCE_DIR}/cmake) | |
23 | |
24 find_package(Pandoc REQUIRED) | |
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 | 35 set(TEMPLATE ${irccd-web_SOURCE_DIR}/templates/template.html) |
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 | 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 | 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 | 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 | 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 | 73 COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/css |
74 COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/js | |
75 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/css ${OUTPUT}/css | |
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("") |