xref: /aosp_15_r20/external/google-fruit/extras/doc/CMakeLists.txt (revision a65addddcf69f38db5b288d787b6b7571a57bb8f)
1*a65addddSAndroid Build Coastguard Worker
2*a65addddSAndroid Build Coastguard Worker
3*a65addddSAndroid Build Coastguard Workeradd_custom_command(OUTPUT tikz-uml.sty
4*a65addddSAndroid Build Coastguard Worker                   COMMAND wget http://perso.ensta-paristech.fr/~kielbasi/tikzuml/var/files/src/tikzuml-v1.0-2016-03-29.tbz
5*a65addddSAndroid Build Coastguard Worker                   COMMAND tar xf tikzuml-v1.0-2016-03-29.tbz
6*a65addddSAndroid Build Coastguard Worker                   COMMAND mv tikzuml-v1.0-2016-03-29/tikz-uml.sty tikz-uml.sty
7*a65addddSAndroid Build Coastguard Worker                   )
8*a65addddSAndroid Build Coastguard Workeradd_custom_command(OUTPUT header.tex footer.tex
9*a65addddSAndroid Build Coastguard Worker                   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/common-header.tex header.tex
10*a65addddSAndroid Build Coastguard Worker                   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/common-footer.tex footer.tex
11*a65addddSAndroid Build Coastguard Worker                   DEPENDS
12*a65addddSAndroid Build Coastguard Worker                       ${CMAKE_CURRENT_SOURCE_DIR}/common-header.tex
13*a65addddSAndroid Build Coastguard Worker                       ${CMAKE_CURRENT_SOURCE_DIR}/common-footer.tex
14*a65addddSAndroid Build Coastguard Worker                   )
15*a65addddSAndroid Build Coastguard Worker
16*a65addddSAndroid Build Coastguard Workerset(LATEX_SOURCES
17*a65addddSAndroid Build Coastguard Workerbar_handler.tex
18*a65addddSAndroid Build Coastguard Workerbind.tex
19*a65addddSAndroid Build Coastguard Workerbind_instance.tex
20*a65addddSAndroid Build Coastguard Workercached_greeter.tex
21*a65addddSAndroid Build Coastguard Workercached_greeter_test.tex
22*a65addddSAndroid Build Coastguard Workercar_component.tex
23*a65addddSAndroid Build Coastguard Workerchecked_adder.tex
24*a65addddSAndroid Build Coastguard Workerchecked_incrementer.tex
25*a65addddSAndroid Build Coastguard Workercomponent_composition.tex
26*a65addddSAndroid Build Coastguard Workercomponent_dep_loop.tex
27*a65addddSAndroid Build Coastguard Workerfoo_handler.tex
28*a65addddSAndroid Build Coastguard Workergreeter.tex
29*a65addddSAndroid Build Coastguard Workerincrementer.tex
30*a65addddSAndroid Build Coastguard Workerincrementer_component.tex
31*a65addddSAndroid Build Coastguard Workerinject_macro.tex
32*a65addddSAndroid Build Coastguard Workerinject_macro_no_args.tex
33*a65addddSAndroid Build Coastguard Workerinject_macro_template.tex
34*a65addddSAndroid Build Coastguard Workerinject_typedef_greeter.tex
35*a65addddSAndroid Build Coastguard Workerinject_typedef_writer.tex
36*a65addddSAndroid Build Coastguard Workerinject_typedef_writer2.tex
37*a65addddSAndroid Build Coastguard Workerinject_typedef_templated_constructor.tex
38*a65addddSAndroid Build Coastguard Workermultiplier.tex
39*a65addddSAndroid Build Coastguard Workerparametrized_component.tex
40*a65addddSAndroid Build Coastguard Workerprovider.tex
41*a65addddSAndroid Build Coastguard Workerprovider_functor.tex
42*a65addddSAndroid Build Coastguard Workerregister_constructor.tex
43*a65addddSAndroid Build Coastguard Workerregister_constructor_component.tex
44*a65addddSAndroid Build Coastguard Workerregister_factory.tex
45*a65addddSAndroid Build Coastguard Workerregister_factory_use.tex
46*a65addddSAndroid Build Coastguard Workerregister_factory_macro.tex
47*a65addddSAndroid Build Coastguard Workerrequest_dispatcher.tex
48*a65addddSAndroid Build Coastguard Workerrequest_injector.tex
49*a65addddSAndroid Build Coastguard Workerscaler.tex
50*a65addddSAndroid Build Coastguard Workerserver.tex
51*a65addddSAndroid Build Coastguard Workersimple_greeter.tex
52*a65addddSAndroid Build Coastguard Workersimple_incrementer.tex
53*a65addddSAndroid Build Coastguard Workersimple_adder.tex
54*a65addddSAndroid Build Coastguard Workertemplated_component.tex
55*a65addddSAndroid Build Coastguard Worker)
56*a65addddSAndroid Build Coastguard Worker
57*a65addddSAndroid Build Coastguard Workerforeach(S ${LATEX_SOURCES})
58*a65addddSAndroid Build Coastguard Worker  string(REPLACE ".tex" "" N ${S})
59*a65addddSAndroid Build Coastguard Worker  add_custom_command(OUTPUT ${N}.png
60*a65addddSAndroid Build Coastguard Worker                     COMMAND pdflatex -halt-on-error ${CMAKE_CURRENT_SOURCE_DIR}/${N}.tex
61*a65addddSAndroid Build Coastguard Worker                     COMMAND convert -density 300 -trim ${N}.pdf -quality 100 -sharpen 0x1.0 ${N}.png
62*a65addddSAndroid Build Coastguard Worker                     # This normalizes the PNG files, so that we avoid tracking multiple copies of the same file in the Github wiki repo.
63*a65addddSAndroid Build Coastguard Worker                     COMMAND exiftool -all= -overwrite_original ${N}.png
64*a65addddSAndroid Build Coastguard Worker                     DEPENDS
65*a65addddSAndroid Build Coastguard Worker                         tikz-uml.sty
66*a65addddSAndroid Build Coastguard Worker                         header.tex
67*a65addddSAndroid Build Coastguard Worker                         footer.tex
68*a65addddSAndroid Build Coastguard Worker                         ${N}.tex
69*a65addddSAndroid Build Coastguard Worker                     )
70*a65addddSAndroid Build Coastguard Worker  add_custom_target(${N}-png ALL
71*a65addddSAndroid Build Coastguard Worker                    DEPENDS ${N}.png)
72*a65addddSAndroid Build Coastguard Workerendforeach(S)
73*a65addddSAndroid Build Coastguard Worker
74*a65addddSAndroid Build Coastguard Workerset(EXAMPLE_DIRECTORIES
75*a65addddSAndroid Build Coastguard Workerhello_world
76*a65addddSAndroid Build Coastguard Workerserver
77*a65addddSAndroid Build Coastguard Workerscaling_doubles
78*a65addddSAndroid Build Coastguard Workermultibindings
79*a65addddSAndroid Build Coastguard Workersimple_injection
80*a65addddSAndroid Build Coastguard Worker)
81*a65addddSAndroid Build Coastguard Worker
82*a65addddSAndroid Build Coastguard Workerforeach(D ${EXAMPLE_DIRECTORIES})
83*a65addddSAndroid Build Coastguard Worker  add_custom_command(OUTPUT ${D}-deps.png
84*a65addddSAndroid Build Coastguard Worker                     COMMAND bash < ${CMAKE_CURRENT_SOURCE_DIR}/extract_dependencies.sh > ${CMAKE_CURRENT_BINARY_DIR}/${D}.dot
85*a65addddSAndroid Build Coastguard Worker                     COMMAND dot -Goverlap=prism10000 ${CMAKE_CURRENT_BINARY_DIR}/${D}.dot -Tpng -o ${CMAKE_CURRENT_BINARY_DIR}/${D}-deps.png
86*a65addddSAndroid Build Coastguard Worker                     # This normalizes the PNG files, so that we avoid tracking multiple copies of the same file in the Github wiki repo.
87*a65addddSAndroid Build Coastguard Worker                     COMMAND exiftool -all= -overwrite_original ${CMAKE_CURRENT_BINARY_DIR}/${D}-deps.png
88*a65addddSAndroid Build Coastguard Worker                     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../examples/${D}
89*a65addddSAndroid Build Coastguard Worker                     DEPENDS
90*a65addddSAndroid Build Coastguard Worker                        ../../examples/${D}
91*a65addddSAndroid Build Coastguard Worker                        extract_dependencies.sh
92*a65addddSAndroid Build Coastguard Worker                     )
93*a65addddSAndroid Build Coastguard Worker  add_custom_target(${D}-deps ALL
94*a65addddSAndroid Build Coastguard Worker                    DEPENDS ${D}-deps.png)
95*a65addddSAndroid Build Coastguard Workerendforeach(D)
96*a65addddSAndroid Build Coastguard Worker
97