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