97 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
 | 
						|
 | 
						|
add_custom_command(OUTPUT tikz-uml.sty
 | 
						|
                   COMMAND wget http://perso.ensta-paristech.fr/~kielbasi/tikzuml/var/files/src/tikzuml-v1.0-2016-03-29.tbz
 | 
						|
                   COMMAND tar xf tikzuml-v1.0-2016-03-29.tbz
 | 
						|
                   COMMAND mv tikzuml-v1.0-2016-03-29/tikz-uml.sty tikz-uml.sty
 | 
						|
                   )
 | 
						|
add_custom_command(OUTPUT header.tex footer.tex
 | 
						|
                   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/common-header.tex header.tex
 | 
						|
                   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/common-footer.tex footer.tex
 | 
						|
                   DEPENDS 
 | 
						|
                       ${CMAKE_CURRENT_SOURCE_DIR}/common-header.tex
 | 
						|
                       ${CMAKE_CURRENT_SOURCE_DIR}/common-footer.tex
 | 
						|
                   )
 | 
						|
 | 
						|
set(LATEX_SOURCES
 | 
						|
bar_handler.tex
 | 
						|
bind.tex
 | 
						|
bind_instance.tex
 | 
						|
cached_greeter.tex
 | 
						|
cached_greeter_test.tex
 | 
						|
car_component.tex
 | 
						|
checked_adder.tex
 | 
						|
checked_incrementer.tex
 | 
						|
component_composition.tex
 | 
						|
component_dep_loop.tex
 | 
						|
foo_handler.tex
 | 
						|
greeter.tex
 | 
						|
incrementer.tex
 | 
						|
incrementer_component.tex
 | 
						|
inject_macro.tex
 | 
						|
inject_macro_no_args.tex
 | 
						|
inject_macro_template.tex
 | 
						|
inject_typedef_greeter.tex
 | 
						|
inject_typedef_writer.tex
 | 
						|
inject_typedef_writer2.tex
 | 
						|
inject_typedef_templated_constructor.tex
 | 
						|
multiplier.tex
 | 
						|
parametrized_component.tex
 | 
						|
provider.tex
 | 
						|
provider_functor.tex
 | 
						|
register_constructor.tex
 | 
						|
register_constructor_component.tex
 | 
						|
register_factory.tex
 | 
						|
register_factory_use.tex
 | 
						|
register_factory_macro.tex
 | 
						|
request_dispatcher.tex
 | 
						|
request_injector.tex
 | 
						|
scaler.tex
 | 
						|
server.tex
 | 
						|
simple_greeter.tex
 | 
						|
simple_incrementer.tex
 | 
						|
simple_adder.tex
 | 
						|
templated_component.tex
 | 
						|
)
 | 
						|
 | 
						|
foreach(S ${LATEX_SOURCES})
 | 
						|
  string(REPLACE ".tex" "" N ${S})
 | 
						|
  add_custom_command(OUTPUT ${N}.png
 | 
						|
                     COMMAND pdflatex -halt-on-error ${CMAKE_CURRENT_SOURCE_DIR}/${N}.tex
 | 
						|
                     COMMAND convert -density 300 -trim ${N}.pdf -quality 100 -sharpen 0x1.0 ${N}.png
 | 
						|
                     # This normalizes the PNG files, so that we avoid tracking multiple copies of the same file in the Github wiki repo.
 | 
						|
                     COMMAND exiftool -all= -overwrite_original ${N}.png
 | 
						|
                     DEPENDS
 | 
						|
                         tikz-uml.sty
 | 
						|
                         header.tex
 | 
						|
                         footer.tex
 | 
						|
                         ${N}.tex
 | 
						|
                     )
 | 
						|
  add_custom_target(${N}-png ALL
 | 
						|
                    DEPENDS ${N}.png)
 | 
						|
endforeach(S)
 | 
						|
 | 
						|
set(EXAMPLE_DIRECTORIES
 | 
						|
hello_world
 | 
						|
server
 | 
						|
scaling_doubles
 | 
						|
multibindings
 | 
						|
simple_injection
 | 
						|
)
 | 
						|
 | 
						|
foreach(D ${EXAMPLE_DIRECTORIES})
 | 
						|
  add_custom_command(OUTPUT ${D}-deps.png
 | 
						|
                     COMMAND bash < ${CMAKE_CURRENT_SOURCE_DIR}/extract_dependencies.sh > ${CMAKE_CURRENT_BINARY_DIR}/${D}.dot
 | 
						|
                     COMMAND dot -Goverlap=prism10000 ${CMAKE_CURRENT_BINARY_DIR}/${D}.dot -Tpng -o ${CMAKE_CURRENT_BINARY_DIR}/${D}-deps.png
 | 
						|
                     # This normalizes the PNG files, so that we avoid tracking multiple copies of the same file in the Github wiki repo.
 | 
						|
                     COMMAND exiftool -all= -overwrite_original ${CMAKE_CURRENT_BINARY_DIR}/${D}-deps.png
 | 
						|
                     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../examples/${D}
 | 
						|
                     DEPENDS
 | 
						|
                        ../../examples/${D}
 | 
						|
                        extract_dependencies.sh
 | 
						|
                     )
 | 
						|
  add_custom_target(${D}-deps ALL
 | 
						|
                    DEPENDS ${D}-deps.png)
 | 
						|
endforeach(D)
 | 
						|
 |