annotate manuals/CMakeLists.txt @ 1070:f110a3f6e387

(issue114) Fine tune ACL propagation using mkdir_p the ACL of the parent directories would propagate to all subdirectories and objects in the directory. Now we only use ACL propagation in the last directory to make sure that files we might create in that directory inherit the correct (resitricted) ACL
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 16:41:36 +0200
parents af27328bea9d
children
rev   line source
933
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
1 # Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
2 # Software engineering by Intevation GmbH
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
3 #
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
4 # This file is Free Software under the GNU GPL (v>=2)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
5 # and comes with ABSOLUTELY NO WARRANTY!
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
6 # See LICENSE.txt for details.
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
7
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
8 if(NOT DEFINED SPHINX_THEME)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
9 set(SPHINX_THEME better)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
10 endif()
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
11
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
12 if(NOT DEFINED SPHINX_THEME_DIR)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
13 set(SPHINX_THEME_DIR "${CMAKE_CURRENT_SOURCE_DIR}/theme")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
14 endif()
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
15
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
16 set(ADMIN_MANUAL_IN "${CMAKE_CURRENT_SOURCE_DIR}/admin-manual")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
17 set(ADMIN_MANUAL_OUT "${CMAKE_CURRENT_BINARY_DIR}/admin-manual")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
18 set(HELP_MANUAL_IN "${CMAKE_CURRENT_SOURCE_DIR}/help-manual")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
19 set(HELP_MANUAL_OUT "${CMAKE_CURRENT_BINARY_DIR}/help-manual")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
20
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
21
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
22 # configured documentation tools and intermediate build results
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
23 set(BINARY_BUILD_DIR_ADMIN "${CMAKE_CURRENT_BINARY_DIR}/_build-admin")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
24 set(BINARY_BUILD_DIR_HELP "${CMAKE_CURRENT_BINARY_DIR}/_build-help")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
25
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
26 # Sphinx cache with pickled ReST documents
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
27 set(SPHINX_CACHE_DIR_ADMIN "${CMAKE_CURRENT_BINARY_DIR}/_doctrees-admin")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
28 set(SPHINX_CACHE_DIR_HELP "${CMAKE_CURRENT_BINARY_DIR}/_doctrees-help")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
29
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
30 # HTML output directory
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
31 set(SPHINX_HTML_DIR_ADMIN "${ADMIN_MANUAL_OUT}/html")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
32 set(SPHINX_HTML_DIR_HELP "${HELP_MANUAL_OUT}/html")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
33
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
34 configure_file(
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
35 "${ADMIN_MANUAL_IN}/conf.py.in"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
36 "${BINARY_BUILD_DIR_ADMIN}/conf.py"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
37 @ONLY)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
38
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
39 configure_file(
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
40 "${HELP_MANUAL_IN}/conf.py.in"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
41 "${BINARY_BUILD_DIR_HELP}/conf.py"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
42 @ONLY)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
43
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
44 add_custom_target(admin_manual ALL
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
45 ${SPHINX_EXECUTABLE}
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
46 -q -b html
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
47 -c "${BINARY_BUILD_DIR_ADMIN}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
48 -d "${SPHINX_CACHE_DIR_ADMIN}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
49 "${ADMIN_MANUAL_IN}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
50 "${SPHINX_HTML_DIR_ADMIN}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
51 COMMENT "Building HTML Admin documentation with Sphinx")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
52
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
53 add_custom_target(help_manual ALL
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
54 ${SPHINX_EXECUTABLE}
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
55 -q -b html
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
56 -c "${BINARY_BUILD_DIR_HELP}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
57 -d "${SPHINX_CACHE_DIR_HELP}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
58 "${HELP_MANUAL_IN}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
59 "${SPHINX_HTML_DIR_HELP}"
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
60 COMMENT "Building HTML Help with Sphinx")

http://wald.intevation.org/projects/trustbridge/