@@ -6,6 +6,7 @@ import sequence ;
6
6
7
7
# All paths must be absolute to work well with the Doxygen rules.
8
8
path-constant this_dir : . ;
9
+ path-constant target_dir : html ;
9
10
path-constant redis_root_dir : .. ;
10
11
path-constant include_dir : ../include ;
11
12
path-constant examples_dir : ../examples ;
@@ -20,7 +21,8 @@ local examples = [ path.glob-tree $(examples_dir) : *.hpp *.cpp ] ;
20
21
# which is not correct.
21
22
local stylesheet_arg = [ sequence.join "\"$(stylesheet_files)\"" : " " ] ;
22
23
23
- doxygen autodoc.html
24
+ # The doxygen rule requires the target name to end in .html to generate HTML files
25
+ doxygen doc.html
24
26
:
25
27
$(includes) $(examples) $(readme)
26
28
:
@@ -59,11 +61,27 @@ doxygen autodoc.html
59
61
<doxygen:param>DIRECTORY_GRAPH=NO
60
62
;
61
63
64
+ explicit doc.html ;
65
+
66
+ # The doxygen rule only informs b2 about the main HTML file, and not about
67
+ # all the doc directory that gets generated. Using the install rule copies
68
+ # only a single file, which is incorrect. This is a workaround to copy
69
+ # the generated docs to the doc/html directory, where they should be.
70
+ make copyhtml.tag : doc.html : @copy_html_dir ;
71
+ explicit copyhtml.tag ;
72
+ actions copy_html_dir
73
+ {
74
+ rm -rf $(target_dir)
75
+ mkdir -p $(target_dir)
76
+ cp -r $(<:D)/html/doc/* $(target_dir)/
77
+ echo "Stamped" > "$(<)"
78
+ }
79
+
62
80
# These are used to inform the build system of the
63
81
# means to build the integrated and stand-alone docs.
64
82
65
83
alias boostdoc ;
66
84
explicit boostdoc ;
67
85
68
- alias boostrelease : autodoc.html ;
86
+ alias boostrelease : copyhtml.tag ;
69
87
explicit boostrelease ;
0 commit comments