@@ -3,25 +3,24 @@ file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/examples
33 ${PROJECT_BINARY_DIR} /latex/examples)
44file (GLOB EXAMPLE_FILES RELATIVE ${PROJECT_SOURCE_DIR} /examples "*" )
55
6+ if (build_doc_chm)
7+ file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR} /chm/html/examples)
8+ endif ()
9+
610if (DOT)
711 set (DIAGRAM_EXAMPLE ${PROJECT_BINARY_DIR} /html/examples/diagrams/html/index.html)
12+ if (build_doc_chm)
13+ set (DIAGRAM_CHM_EXAMPLE ${PROJECT_BINARY_DIR} /chm/html/examples/diagrams/html/index.html)
14+ endif ()
815endif ()
916
10- add_custom_command (
11- COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR} /examples/baseexample.cfg" "${PROJECT_BINARY_DIR} /examples/"
12- DEPENDS "${PROJECT_SOURCE_DIR} /examples/baseexample.cfg"
13- OUTPUT "${PROJECT_BINARY_DIR} /examples/baseexample.cfg"
14- )
15- set_source_files_properties ("${PROJECT_BINARY_DIR} /examples/baseexample.cfg" PROPERTIES GENERATED 1)
17+ foreach (f ${EXAMPLE_FILES} )
18+ configure_file (${PROJECT_SOURCE_DIR} /examples/${f} ${PROJECT_BINARY_DIR} /examples/${f} COPYONLY )
19+ set_source_files_properties ("${PROJECT_BINARY_DIR} /examples/${f} " PROPERTIES GENERATED 1)
20+ endforeach ()
1621
1722foreach (f ${EXAMPLE_FILES} )
18- add_custom_command (
19- COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR} /examples/${f} " "${PROJECT_BINARY_DIR} /examples/"
20- DEPENDS "${PROJECT_SOURCE_DIR} /examples/${f} "
21- OUTPUT "${PROJECT_BINARY_DIR} /examples/${f} "
22- )
23- set_source_files_properties ("${PROJECT_BINARY_DIR} /examples/${f} " PROPERTIES GENERATED 1)
24- list (APPEND OUT_EXAMPLE_FILES "${PROJECT_BINARY_DIR} /examples/${f} " )
23+ list (APPEND OUT_EXAMPLE_FILES "${PROJECT_BINARY_DIR} /examples/${f} " )
2524endforeach ()
2625
2726# name file extension dependency (optional)
@@ -63,41 +62,79 @@ set(BASIC_EXAMPLES
6362)
6463
6564configure_file (${PROJECT_SOURCE_DIR} /templates/icon/doxygen.ico ${PROJECT_BINARY_DIR} /examples/doxygen.ico COPYONLY )
65+ configure_file (${PROJECT_SOURCE_DIR} /doc /doxygen_manual.css ${PROJECT_BINARY_DIR} /examples/doxygen_manual.css COPYONLY )
66+ configure_file (${PROJECT_SOURCE_DIR} /doc /doxygen_manual_chm.css ${PROJECT_BINARY_DIR} /examples/doxygen_manual_chm.css COPYONLY )
6667
6768foreach (f_inp ${BASIC_EXAMPLES} )
68- list (LENGTH ${f_inp} f_len)
69- list (GET ${f_inp} 0 f)
70- list (GET ${f_inp} 1 f_ext)
71- set (f_dep "" )
72- if (${f_len} GREATER 2)
73- list (GET ${f_inp} 2 f_dep)
74- set (f_dep "${PROJECT_BINARY_DIR} /html/examples/${f_dep} /html/index.html" )
75- endif ()
69+ list (LENGTH ${f_inp} f_len)
70+ list (GET ${f_inp} 0 f)
71+ list (GET ${f_inp} 1 f_ext)
72+ set (f_dep "" )
73+ set (f_dep_chm "" )
74+ if (${f_len} GREATER 2)
75+ list (GET ${f_inp} 2 f_dep)
76+ list (GET ${f_inp} 2 f_dep_chm)
77+ set (f_dep "${PROJECT_BINARY_DIR} /html/examples/${f_dep} /html/index.html" )
78+ if (build_doc_chm)
79+ set (f_dep_chm "${PROJECT_BINARY_DIR} /chm/html/examples/${f_dep_chm} /html/index.html" )
80+ endif ()
81+ endif ()
7682 add_custom_command (
7783 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR} /html/examples/${f}
7884 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR} /latex/examples/${f}
79- COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR =${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH} /doxygen ${f} .cfg
85+ COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR =${PROJECT_BINARY_DIR} EXTRA_SETTINGS=docuexample.cfg ${EXECUTABLE_OUTPUT_PATH} /doxygen ${f} .cfg
8086 COMMAND ${Python_EXECUTABLE} ${TOP} /examples/strip_example.py < ${PROJECT_BINARY_DIR} /latex/examples/${f} /latex/refman.tex > ${PROJECT_BINARY_DIR} /latex/examples/${f} /latex/refman_doc.tex
81- DEPENDS doxygen ${f} .${f_ext} ${f} .cfg ${TOP} /examples/strip_example.py ${f_dep} baseexample.cfg
82- OUTPUT ${PROJECT_BINARY_DIR} /html/examples/${f} /html/index.html ${PROJECT_BINARY_DIR} /latex/examples/${f} /latex/refman_doc.tex
87+ DEPENDS doxygen ${f} .${f_ext} ${f} .cfg ${TOP} /examples/strip_example.py ${f_dep} baseexample.cfg docuexample.cfg
88+ OUTPUT ${PROJECT_BINARY_DIR} /html/examples/${f} /html/index.html ${PROJECT_BINARY_DIR} /latex/examples/${f} /latex/refman_doc.tex
89+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
8390 )
8491 set (EXAMPLES_RES ${EXAMPLES_RES} "" ${PROJECT_BINARY_DIR} /html/examples/${f} /html/index.html)
92+
93+ if (build_doc_chm)
94+ add_custom_command (
95+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR} /chm/html/examples/${f}
96+ COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR =${PROJECT_BINARY_DIR} EXTRA_SETTINGS=chmexample.cfg ${EXECUTABLE_OUTPUT_PATH} /doxygen ${f} .cfg
97+ DEPENDS doxygen ${f} .${f_ext} ${f} .cfg ${f_dep_chm} baseexample.cfg chmexample.cfg
98+ OUTPUT ${PROJECT_BINARY_DIR} /chm/html/examples/${f} /html/index.html
99+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
100+ )
101+ set (EXAMPLES_CHM_RES ${EXAMPLES_CHM_RES} "" ${PROJECT_BINARY_DIR} /chm/html/examples/${f} /html/index.html)
102+ endif ()
85103endforeach ()
86104
87105add_custom_target (examples
88106 DEPENDS ${OUT_EXAMPLE_FILES}
89107 ${EXAMPLES_RES}
90108 ${DIAGRAM_EXAMPLE}
91- WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
109+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
92110)
93111
112+ if (build_doc_chm)
113+ add_custom_target (examples_chm
114+ DEPENDS ${OUT_EXAMPLE_FILES}
115+ ${EXAMPLES_CHM_RES}
116+ ${DIAGRAM_CHM_EXAMPLE}
117+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
118+ )
119+ endif ()
120+
94121if (DOT)
95122 add_custom_command (
96123 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR} /html/examples/diagrams
97124 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR} /latex/examples/diagrams
98- COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR =${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH} /doxygen diagrams.cfg
125+ COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR =${PROJECT_BINARY_DIR} EXTRA_SETTINGS=docuexample.cfg ${EXECUTABLE_OUTPUT_PATH} /doxygen diagrams.cfg
99126 COMMAND ${Python_EXECUTABLE} ${TOP} /examples/strip_example.py < ${PROJECT_BINARY_DIR} /latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR} /latex/examples/diagrams/latex/refman_doc.tex
100- DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP} /examples/strip_example.py baseexample.cfg
101- OUTPUT ${PROJECT_BINARY_DIR} /html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR} /latex/examples/diagrams/latex/refman_doc.tex
127+ DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP} /examples/strip_example.py baseexample.cfg docuexample.cfg
128+ OUTPUT ${PROJECT_BINARY_DIR} /html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR} /latex/examples/diagrams/latex/refman_doc.tex
129+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
102130 )
131+ if (build_doc_chm)
132+ add_custom_command (
133+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR} /chm/html/examples/diagrams
134+ COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR =${PROJECT_BINARY_DIR} EXTRA_SETTINGS=chmexample.cfg ${EXECUTABLE_OUTPUT_PATH} /doxygen diagrams.cfg
135+ DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg baseexample.cfg chmexample.cfg
136+ OUTPUT ${PROJECT_BINARY_DIR} /chm/html/examples/diagrams/html/index.html
137+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR} /examples
138+ )
139+ endif ()
103140endif (DOT)
0 commit comments