# Copyright (C) 2007-2009 Andrew Sutton
#
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

import ../../config/checks/config : requires ;
import modules ;
import path ;

path-constant TEST_DIR : . ;

run accum-compile-times.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat $(TEST_DIR)/target-compile-costs.dat ;
exe actor_clustering : actor_clustering.cpp ;
run adj_list_ra_edgelist.cpp ;
run adjacency_list.cpp ;
run adjacency_list_io.cpp ;
run adjacency_matrix.cpp ;
run astar-cities.cpp ;
run astar_maze.cpp ;
run bellman-example.cpp ;
run bellman-ford-internet.cpp ;
run bfs.cpp ;
run bfs_neighbor.cpp ;
run bfs-example.cpp ;
run bfs-example2.cpp ;
run bfs-name-printer.cpp ;
run biconnected_components.cpp ;
run bipartite_example.cpp ;
run boost_web_graph.cpp : $(TEST_DIR)/boost_web.dat ;
exe boykov_kolmogorov-eg : boykov_kolmogorov-eg.cpp ;
exe bron_kerbosch_clique_number : bron_kerbosch_clique_number.cpp ;
exe bron_kerbosch_print_cliques : bron_kerbosch_print_cliques.cpp ;
run bucket_sorter.cpp ;
run canonical_ordering.cpp ;
run city_visitor.cpp ;
exe closeness_centrality : closeness_centrality.cpp ;
exe clustering_coefficient : clustering_coefficient.cpp ;
run components_on_edgelist.cpp ;
run connected_components.cpp ;
run connected-components.cpp ;
run container_gen.cpp ;
run copy-example.cpp ;
run csr-example.cpp ;
run cuthill_mckee_ordering.cpp ;
run cycle_canceling_example.cpp ;
run cycle_ratio_example.cpp ;
run cycle-file-dep.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run cycle-file-dep2.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run dag_shortest_paths.cpp ;
run dave.cpp ;
run default-constructor.cpp : $(TEST_DIR)/makefile-dependencies.dat ;
run default-constructor2.cpp : $(TEST_DIR)/makefile-dependencies.dat ;
exe degree_centrality : degree_centrality.cpp ;
run dfs.cpp ;
run dfs_parenthesis.cpp ;
run dfs-example.cpp ;
run dijkstra-example.cpp ;
run dijkstra-example-listS.cpp ;
run dijkstra-no-color-map-example.cpp ;
run directed_graph.cpp ;
exe eccentricity : eccentricity.cpp ;
run edge_basics.cpp ;
run edge_coloring.cpp ;
run edge_iterator_constructor.cpp : $(TEST_DIR)/edge_iterator_constructor.dat ;
run edge_property.cpp ;
run edge-function.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run edge-iter-constructor.cpp : $(TEST_DIR)/makefile-dependencies.dat ;
exe edmonds-karp-eg : edmonds-karp-eg.cpp ;
run exterior_properties.cpp ;
run exterior_property_map.cpp ;
run family_tree.cpp ;
run fibonacci_heap.cpp ;
run file_dependencies.cpp ;
run filtered_graph.cpp ;
run filtered_graph_edge_range.cpp ;
run filtered_vec_as_graph.cpp ;
run filtered-copy-example.cpp ;
exe fr_layout : fr_layout.cpp : [ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ] ;
run gerdemann.cpp ;
run graph.cpp ;
run graph_as_tree.cpp ;
run graph_property.cpp ;
run graph-assoc-types.cpp ;
run graph-property-iter-eg.cpp ;
run graph-thingie.cpp ../build//boost_graph ;
run graphviz.cpp ../build//boost_graph : $(TEST_DIR)/graphviz_example.dot ;
run grid_graph_example.cpp ;
run grid_graph_properties.cpp ;
exe hawick_circuits : hawick_circuits.cpp ;
run implicit_graph.cpp ;
run in_edges.cpp ;
exe inclusive_mean_geodesic : inclusive_mean_geodesic.cpp ;
run incremental_components.cpp ;
run incremental-components-eg.cpp ;
exe influence_prestige : influence_prestige.cpp ;
run interior_pmap_bundled.cpp ;
run interior_property_map.cpp ;
run isomorphism.cpp ;
run iteration_macros.cpp ;
run iterator-property-map-eg.cpp ;
run johnson-eg.cpp ;
run kevin-bacon.cpp : $(TEST_DIR)/kevin-bacon.dat ;
run king_ordering.cpp ;
run knights_tour.cpp ;
run kruskal-example.cpp ;
run kuratowski_subgraph.cpp ;
run make_biconnected_planar.cpp ;
run make_connected.cpp ;
run make_maximal_planar.cpp ;
run matching_example.cpp ;
exe max_flow : max_flow.cpp ;
run mcgregor_subgraphs_example.cpp ;
exe mean_geodesic : mean_geodesic.cpp ;
exe minimum_degree_ordering : minimum_degree_ordering.cpp ;
run modify_graph.cpp ;
run neighbor_bfs.cpp ;
run ospf-example.cpp ../build//boost_graph : $(TEST_DIR)/figs/ospf-graph.dot $(TEST_DIR)/figs/ospf-sptree.dot $(TEST_DIR)/routing-table.dat ;
run parallel-compile-time.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat $(TEST_DIR)/target-compile-costs.dat ;
run planar_face_traversal.cpp ;
run prim-example.cpp ;
run print-adjacent-vertices.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run print-edges.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run print-in-edges.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run print-out-edges.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
exe property_iterator : property_iterator.cpp ;
run property-map-traits-eg.cpp ;
exe push-relable : push-relabel-eg.cpp ;
run put-get-helper-eg.cpp ;
run quick_tour.cpp ;
run quick-tour.cpp ;
run r_c_shortest_paths_example.cpp ;
run read_graphviz.cpp ../build//boost_graph ;
exe read_write_dimacs : read_write_dimacs-eg.cpp ;
run remove_edge_if_bidir.cpp ;
run remove_edge_if_dir.cpp ;
run remove_edge_if_undir.cpp ;
run reverse_graph.cpp ;
exe scaled_closeness_centrality : scaled_closeness_centrality.cpp ;
run simple_planarity_test.cpp ;
run sloan_ordering.cpp ;
run stoer_wagner.cpp ;
run straight_line_drawing.cpp ;
run strong-components.cpp ;
run subgraph.cpp ;
run subgraph_properties.cpp ;
run successive_shortest_path_nonnegative_weights_example.cpp ;
exe tiernan_girth_circumference : tiernan_girth_circumference.cpp ;
exe tiernan_print_cycles : tiernan_print_cycles.cpp ;
run topo_sort.cpp ;
run topo-sort1.cpp ;
run topo-sort2.cpp ;
run topo-sort-file-dep.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run topo-sort-file-dep2.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run transitive_closure.cpp ;
run transpose-example.cpp ;
run two_graphs_common_spanning_trees.cpp ;
run undirected_adjacency_list.cpp ;
run undirected_dfs.cpp ;
run undirected_graph.cpp ;
run vector_as_graph.cpp ;
run vertex_basics.cpp ;
run vertex-name-property.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ;
run vf2_sub_graph_iso_example.cpp ;
run vf2_sub_graph_iso_multi_example.cpp ;
run visitor.cpp ;
run weighted_matching_example.cpp ;
run write_graphviz.cpp ;

#
# These require LEDA:
#
run leda-graph-eg.cpp ;
run leda-concept-check.cpp ;
run topo-sort-with-leda.cpp ;
explicit leda-graph-eg ;
explicit leda-concept-check ;
explicit topo-sort-with-leda ;

#
# These require standford-graph:
#
run miles_span.cpp ;
explicit miles_span ;
run roget_components.cpp ;
explicit roget_components ;
run topo-sort-with-sgb.cpp ;
explicit topo-sort-with-sgb ;
run girth.cpp ;
explicit girth ;

#
# This example appears incorrect:
#
#run min_max_paths.cpp ;

#
# These all use an interface that has been removed:
#
#run kruskal-telephone.cpp ;
#run loops_dfs.cpp ;
#run scc.cpp ;
#run reachable-loop-head.cpp ;
#run cc-internet.cpp ;
#run reachable-loop-tail.cpp ;
#run prim-telephone.cpp ;
#run dfs-parenthesis.cpp ;
#run edge_connectivity.cpp ;
#run edge-connectivity.cpp ;
#
# These compile, but still use the old graphviz interface and die and runtime:
# run strong_components.cpp ../build//boost_graph ;


#
# Use API that's not defined for this graph type, clear bug?
#
# run labeled_graph.cpp ;
#
# This one crashes at runtime:
#
# run kevin-bacon2.cpp /boost/serialization//boost_serialization : $(TEST_DIR)/kevin-bacon.dat ;
# Crashes with msvc-12.0:
# run last-mod-time.cpp : $(TEST_DIR)/makefile-dependencies.dat ;
#
# This one dereferences a null-iterator:
#
# run ordered_out_edges.cpp ;
