Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
3d5eba2
Make the library modular usable.
grafikrobot Mar 11, 2024
e2547c2
Switch to library requirements instead of source. As source puts extr…
grafikrobot Mar 30, 2024
fe90a5b
Sync from upstream.
grafikrobot Apr 10, 2024
e0d1141
Sync from upstream.
grafikrobot Apr 20, 2024
3f2414a
Add missing NO_LIB usage requirements.
grafikrobot Apr 29, 2024
4857f12
Fix NO_LIB property syntax.
grafikrobot Apr 29, 2024
a5b6c4a
Sync from upstream.
grafikrobot May 3, 2024
41e8999
Add requires-b2 check to top-level build file.
grafikrobot May 5, 2024
6b09e7b
Sync from upstream.
grafikrobot May 11, 2024
325f5b7
Bump B2 require to 5.2
grafikrobot Jun 14, 2024
a40316e
Move inter-lib dependencies to a project variable and into the build …
grafikrobot Jul 24, 2024
82a4c4e
Split b2 dependencies into public and private.
grafikrobot Jul 26, 2024
a9516ad
Update build deps.
grafikrobot Aug 3, 2024
df399ee
Change math dep real target math/tr1.
grafikrobot Aug 11, 2024
f76084c
Sync from upstream.
grafikrobot Sep 14, 2024
ab1d87b
Sync from upstream.
grafikrobot Sep 25, 2024
dabe257
Sync from upstream.
grafikrobot Oct 10, 2024
258f47a
Sync from upstream.
grafikrobot Apr 5, 2025
823e17f
Tests no longer depend on Boost.Assign.
grafikrobot Apr 13, 2025
e9a12bb
Move include to target.
grafikrobot Apr 17, 2025
7b96403
Sync from upstream.
grafikrobot May 2, 2025
7b7ab3f
Update GHA CI to latest OSes and compilers.
grafikrobot May 2, 2025
4951181
Translate the compioler install name to the CXX command for B2.
grafikrobot May 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 17 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,28 @@
name: CI
on: [ push, pull_request ]
jobs:
ubuntu-focal:
runs-on: ubuntu-20.04
ubuntu:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
# Removed g++-10 because of an ICE; meant to be fixed in 10.2?
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94938
compiler: [ g++-9, clang++-10 ]
compiler: [ gcc-14, clang-19 ]
cxxstd: [ 14, 17, 20, 23 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@master
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- name: Set TOOLSET
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Set ENV
run: |
echo ${{ matrix.compiler }} | awk '/^gcc/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
echo ${{ matrix.compiler }} | awk '/^gcc/ { gsub(/gcc/,"CXX=g++"); print; } /^clang/ { gsub(/clang/,"CXX=clang++"); print; }' >> $GITHUB_ENV
- name: Install packages
run: sudo apt install g++-9 clang-10
run: sudo apt install ${{ matrix.compiler }}
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update tools/boostdep
Expand All @@ -48,22 +47,23 @@ jobs:
run: ./b2 headers
working-directory: ../boost-root
- name: Generate user config
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam'
run: 'echo "using $TOOLSET : : $CXX ;" > ~/user-config.jam'
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=14,17,2a
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }}
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=14,17,2a
run: ../../../b2 toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }}
working-directory: ../boost-root/libs/graph/test
macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
toolset: [ clang ]
cxxstd: [ 14, 17, 20 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@master
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
Expand All @@ -89,10 +89,10 @@ jobs:
run: ./b2 headers
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=14,17,2a
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }}
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=14,17,2a define=CI_SUPPRESS_KNOWN_ISSUES
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }} define=CI_SUPPRESS_KNOWN_ISSUES
working-directory: ../boost-root/libs/graph/test
windows_msvc_14_2:
runs-on: windows-2019
Expand Down Expand Up @@ -182,7 +182,6 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
Expand Down Expand Up @@ -231,7 +230,6 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
Expand Down
61 changes: 61 additions & 0 deletions build.jam
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Copyright René Ferdinand Rivera Morell 2024
# 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)

require-b2 5.2 ;

constant boost_dependencies :
/boost/algorithm//boost_algorithm
/boost/any//boost_any
/boost/array//boost_array
/boost/assert//boost_assert
/boost/bimap//boost_bimap
/boost/bind//boost_bind
/boost/concept_check//boost_concept_check
/boost/config//boost_config
/boost/container_hash//boost_container_hash
/boost/conversion//boost_conversion
/boost/core//boost_core
/boost/detail//boost_detail
/boost/foreach//boost_foreach
/boost/function//boost_function
/boost/integer//boost_integer
/boost/iterator//boost_iterator
/boost/lexical_cast//boost_lexical_cast
/boost/math//boost_math_tr1
/boost/move//boost_move
/boost/mpl//boost_mpl
/boost/multi_index//boost_multi_index
/boost/optional//boost_optional
/boost/parameter//boost_parameter
/boost/preprocessor//boost_preprocessor
/boost/property_map//boost_property_map
/boost/property_tree//boost_property_tree
/boost/random//boost_random
/boost/range//boost_range
/boost/serialization//boost_serialization
/boost/smart_ptr//boost_smart_ptr
/boost/spirit//boost_spirit
/boost/static_assert//boost_static_assert
/boost/throw_exception//boost_throw_exception
/boost/tti//boost_tti
/boost/tuple//boost_tuple
/boost/type_traits//boost_type_traits
/boost/typeof//boost_typeof
/boost/unordered//boost_unordered
/boost/utility//boost_utility
/boost/xpressive//boost_xpressive ;

project /boost/graph
;

explicit
[ alias boost_graph : build//boost_graph ]
[ alias all : boost_graph example test ]
;

call-if : boost-library graph
: install boost_graph
;

12 changes: 8 additions & 4 deletions build/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,15 @@

import mpi ;

project boost/graph
: requirements <include>../src
constant boost_dependencies_private :
/boost/regex//boost_regex
;

project
: common-requirements <include>../include <library>$(boost_dependencies)
: requirements <include>../src <library>$(boost_dependencies_private)
: source-location ../src
: usage-requirements <define>BOOST_GRAPH_NO_LIB=1
;

lib boost_graph
Expand All @@ -24,5 +30,3 @@ lib boost_graph
:
:
;

boost-install boost_graph ;
19 changes: 12 additions & 7 deletions example/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,17 @@
# 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 ;
require-b2 5.0.1 ;
import-search /boost/config/checks ;

import config : requires ;
import modules ;
import path ;

path-constant TEST_DIR : . ;

project : requirements <library>/boost/graph//boost_graph ;

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 ;
Expand Down Expand Up @@ -75,15 +80,15 @@ 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 ] ;
exe fr_layout : fr_layout.cpp /boost/timer//boost_timer : [ 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 graph-thingie.cpp /boost/graph//boost_graph ;
run graphviz.cpp /boost/graph//boost_graph : $(TEST_DIR)/graphviz_example.dot ;
run grid_graph_example.cpp ;
run grid_graph_properties.cpp ;
exe hawick_circuits : hawick_circuits.cpp ;
Expand Down Expand Up @@ -114,7 +119,7 @@ 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 ospf-example.cpp /boost/graph//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 ;
Expand All @@ -129,7 +134,7 @@ 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 ;
run read_graphviz.cpp /boost/graph//boost_graph ;
exe read_write_dimacs : read_write_dimacs-eg.cpp ;
run remove_edge_if_bidir.cpp ;
run remove_edge_if_dir.cpp ;
Expand Down Expand Up @@ -208,7 +213,7 @@ explicit girth ;
#run edge-connectivity.cpp ;
#
# These compile, but still use the old graphviz interface and die and runtime:
# run strong_components.cpp ../build//boost_graph ;
# run strong_components.cpp /boost/graph//boost_graph ;


#
Expand Down
27 changes: 16 additions & 11 deletions test/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@
# Define SGB (stanford graph base top level directory) and
# LEDA (also top level directory) at the command line of jam using -s

require-b2 5.0.1 ;
import-search /boost/config/checks ;

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

path-constant TEST_DIR : . ;

Expand All @@ -21,6 +24,8 @@ path-constant METIS_INPUT_FILE : ./weighted_graph.gr ;

path-constant WEIGHTED_MATCHING_INPUT_FILE : ./weighted_matching.dat ;

project : requirements <library>/boost/graph//boost_graph ;

alias graph_test_regular :
# test_graphs will eventually defined a framework for testing the structure
# and implementation of graph data structures and adaptors.
Expand Down Expand Up @@ -75,13 +80,13 @@ alias graph_test_regular :
[ run graph.cpp : : : <define>TEST=9 : graph_9 ]
[ compile graph_concepts.cpp ]
[ run graphviz_test.cpp
../build//boost_graph : --log_level=all ]
/boost/graph//boost_graph : --log_level=all ]
[ run metis_test.cpp : $(METIS_INPUT_FILE) ]
[ run gursoy_atun_layout_test.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 layout_test.cpp : : : <test-info>always_show_run_output <toolset>intel:<debug-symbols>off [ 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 serialize.cpp
../../serialization/build//boost_serialization
/boost/serialization//boost_serialization
: : : ]

[ compile reverse_graph_cc.cpp ]
Expand Down Expand Up @@ -119,7 +124,7 @@ alias graph_test_regular :
[ run weighted_matching_test2.cpp ]
[ run max_flow_test.cpp ]
[ run boykov_kolmogorov_max_flow_test.cpp ]
[ run cycle_ratio_tests.cpp ../build//boost_graph : $(CYCLE_RATIO_INPUT_FILE) ]
[ run cycle_ratio_tests.cpp /boost/graph//boost_graph : $(CYCLE_RATIO_INPUT_FILE) ]
[ run basic_planarity_test.cpp ]
[ run make_connected_test.cpp ]
[ run make_bicon_planar_test.cpp ]
Expand All @@ -140,14 +145,14 @@ alias graph_test_regular :
[ run clustering_coefficient.cpp ]
[ run core_numbers_test.cpp ]
[ run read_propmap.cpp ]
[ run mcgregor_subgraphs_test.cpp ../build//boost_graph ]
[ run mcgregor_subgraphs_test.cpp /boost/graph//boost_graph ]
[ compile grid_graph_cc.cpp ]
[ run grid_graph_test.cpp ]
[ run incremental_components_test.cpp ]
[ run two_graphs_common_spanning_trees_test.cpp ]
[ run random_spanning_tree_test.cpp ../build//boost_graph ]
[ run random_spanning_tree_test.cpp /boost/graph//boost_graph ]
[ run random_matching_test.cpp : 1000 1020 ]
[ run graphml_test.cpp ../build//boost_graph : : "graphml_test.xml" ]
[ run graphml_test.cpp /boost/graph//boost_graph : : "graphml_test.xml" ]
[ run mas_test.cpp : $(TEST_DIR) ]
[ run stoer_wagner_test.cpp : $(TEST_DIR) ]
[ compile filtered_graph_properties_dijkstra.cpp ]
Expand All @@ -173,12 +178,12 @@ alias graph_test_with_filesystem : :

alias graph_test_with_filesystem :
[ run all_planar_input_files_test.cpp
../../filesystem/build
../../system/build
/boost/filesystem//boost_filesystem
/boost/system//boost_system
: $(PLANAR_INPUT_FILES) ]
[ run parallel_edges_loops_test.cpp
../../filesystem/build
../../system/build
/boost/filesystem//boost_filesystem
/boost/system//boost_system
: $(PLANAR_INPUT_FILES) ]
;

Expand Down
Loading