Skip to content

Commit 2221c7b

Browse files
committed
Merge branch 'develop'
2 parents f82eb32 + 19f22c2 commit 2221c7b

File tree

559 files changed

+4857
-8124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

559 files changed

+4857
-8124
lines changed

.github/workflows/cmake.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
##############################################################################
2+
# GitHub Actions Workflow for Boost.Geometry to build tests with cmake
3+
#
4+
# Copyright (c) 2024 Oracle and/or its affiliates.
5+
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
6+
#
7+
# Use, modification and distribution is subject to the Boost Software License,
8+
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
9+
# http://www.boost.org/LICENSE_1_0.txt)
10+
##############################################################################
11+
name: cmake
12+
13+
on: [push]
14+
15+
jobs:
16+
##############################################################################
17+
clang:
18+
name: ${{ matrix.b2_toolset }}
19+
runs-on: ${{ matrix.os }}
20+
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
b2_toolset: [
25+
clang-14
26+
]
27+
28+
include:
29+
- b2_toolset: clang-14
30+
b2_cxxstd: 14,17,2a
31+
version: "14"
32+
os: ubuntu-22.04
33+
steps:
34+
- name: Set up environment
35+
id: setenv
36+
run: |
37+
if [[ "$GITHUB_REF" == *master ]]; then
38+
echo "BOOST_BRANCH=master" >> $GITHUB_ENV
39+
else
40+
echo "BOOST_BRANCH=develop" >> $GITHUB_ENV
41+
fi
42+
echo "BOOST_SELF=$(basename $GITHUB_WORKSPACE)" >> $GITHUB_ENV
43+
echo "BOOST_ROOT=$GITHUB_WORKSPACE/boost-root" >> $GITHUB_ENV
44+
echo "boost_self=$(basename $GITHUB_WORKSPACE)" >> "$GITHUB_OUTPUT"
45+
echo "boost_root=$GITHUB_WORKSPACE/boost-root" >> "$GITHUB_OUTPUT"
46+
47+
- name: Clone boostorg/boost
48+
run: |
49+
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git $BOOST_ROOT
50+
cd $BOOST_ROOT
51+
git submodule update -q --init libs/headers
52+
git submodule update -q --init tools/boost_install
53+
git submodule update -q --init tools/boostdep
54+
git submodule update -q --init tools/build
55+
mkdir -p libs/$BOOST_SELF
56+
57+
- uses: actions/checkout@v2
58+
with:
59+
path: ${{ steps.setenv.outputs.boost_root }}/libs/${{ steps.setenv.outputs.boost_self }}
60+
61+
- name: Run tools/boostdep/depinst/depinst.py
62+
run: |
63+
cd $BOOST_ROOT
64+
python tools/boostdep/depinst/depinst.py --include benchmark --include example --include examples --include tools $BOOST_SELF
65+
66+
- name: Bootstrap boostorg/boost
67+
run: |
68+
gcc --version
69+
cd $BOOST_ROOT
70+
./bootstrap.sh --with-toolset=gcc
71+
./b2 headers
72+
test -f /usr/local/bin/b2 && rm -rf /usr/local/bin/b2
73+
test -f /usr/local/bin/bjam && rm -rf /usr/local/bin/bjam
74+
sudo cp $BOOST_ROOT/b2 /usr/local/bin/
75+
ls -l /usr/local/bin/b2
76+
b2 -v
77+
78+
- name: Set up clang toolset in ~/user-config.jam
79+
run: |
80+
export CXX_NAME=clang++-${{ matrix.version }}
81+
echo ${CXX_NAME}
82+
echo "# $HOME/user-config.jam" > $HOME/user-config.jam
83+
echo "using clang : : $(which clang++-${{ matrix.version }}) ;" > ${HOME}/user-config.jam
84+
test -f $HOME/user-config.jam && cat $HOME/user-config.jam
85+
86+
- name: Build tests with cmake (c++17)
87+
run: |
88+
cd $BOOST_ROOT/libs/geometry
89+
mkdir __build
90+
cd __build
91+
cmake -DCMAKE_CXX_STANDARD=17 -DBUILD_TESTING=ON ..
92+
cmake --build . --target tests
93+
94+
- name: Build tests with cmake
95+
run: |
96+
cd $BOOST_ROOT/libs/geometry/__build
97+
rm -rf *
98+
cmake -DBUILD_TESTING=ON ..
99+
cmake --build . --target tests
100+
101+
- name: Run tests
102+
run: |
103+
cd $BOOST_ROOT/libs/geometry/__build
104+
ctest --output-on-failure --no-tests=error

.github/workflows/documentation.yml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
# Copyright (c) 2020 Mateusz Loskot <[email protected]>
55
# Copyright (c) 2020 Adam Wulkiewicz, Lodz, Poland
66
#
7+
# This file was modified by Oracle on 2024.
8+
# Modifications copyright (c) 2024 Oracle and/or its affiliates.
9+
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
10+
#
711
# Use, modification and distribution is subject to the Boost Software License,
812
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
913
# http://www.boost.org/LICENSE_1_0.txt)
@@ -84,22 +88,13 @@ jobs:
8488
echo "using xsltproc ;" >> $HOME/user-config.jam
8589
test -f $HOME/user-config.jam && cat $HOME/user-config.jam
8690
87-
- name: Install libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk
88-
run: |
89-
cd $BOOST_ROOT
90-
$BOOST_ROOT/b2 variant=release libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk
91-
test -f /usr/local/bin/doxygen_xml2qbk && rm -rf /usr/local/bin/doxygen_xml2qbk
92-
sudo cp $BOOST_ROOT/dist/bin/doxygen_xml2qbk /usr/local/bin/
93-
ls -l /usr/local/bin/b2
94-
doxygen_xml2qbk --version
95-
96-
- name: Build libs/geometry/doc/src/examples
91+
- name: Build examples
9792
run: |
9893
cd $BOOST_ROOT
9994
$BOOST_ROOT/b2 libs/geometry/doc/src/examples
10095
101-
- name: Run libs/geometry/doc/make_qbk.py
96+
- name: Build documentation
10297
run: |
10398
cd $BOOST_ROOT
10499
cd libs/geometry/doc
105-
python ./make_qbk.py
100+
$BOOST_ROOT/b2

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ stdcerr
1616

1717
# JetBrains
1818
/.idea
19+
20+
!build.jam

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ target_link_libraries(boost_geometry
2424
Boost::concept_check
2525
Boost::config
2626
Boost::core
27+
Boost::crc
2728
Boost::function_types
2829
Boost::iterator
2930
Boost::lexical_cast
@@ -32,6 +33,7 @@ target_link_libraries(boost_geometry
3233
Boost::mpl
3334
Boost::multiprecision
3435
Boost::numeric_conversion
36+
Boost::program_options
3537
Boost::qvm
3638
Boost::range
3739
Boost::rational
@@ -100,9 +102,11 @@ if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
100102
config
101103
algorithm
102104
any
105+
crc
103106
lexical_cast
104107
math
105108
multiprecision
109+
program_options
106110
qvm
107111
rational
108112
serialization
@@ -123,7 +127,8 @@ if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
123127
endif()
124128

125129
enable_testing()
126-
add_subdirectory(test)
130+
add_subdirectory(test EXCLUDE_FROM_ALL)
131+
add_subdirectory(index/test EXCLUDE_FROM_ALL)
127132

128133
endif()
129134

Jamfile

Lines changed: 0 additions & 26 deletions
This file was deleted.

build.jam

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Copyright René Ferdinand Rivera Morell 2024
2+
# Distributed under the Boost Software License, Version 1.0.
3+
# (See accompanying file LICENSE_1_0.txt or copy at
4+
# http://www.boost.org/LICENSE_1_0.txt)
5+
6+
require-b2 5.2 ;
7+
8+
import-search /boost/config/checks ;
9+
import config : requires ;
10+
11+
constant boost_dependencies :
12+
/boost/algorithm//boost_algorithm
13+
/boost/any//boost_any
14+
/boost/array//boost_array
15+
/boost/assert//boost_assert
16+
/boost/concept_check//boost_concept_check
17+
/boost/config//boost_config
18+
/boost/container//boost_container
19+
/boost/core//boost_core
20+
/boost/endian//boost_endian
21+
/boost/function_types//boost_function_types
22+
/boost/fusion//boost_fusion
23+
/boost/integer//boost_integer
24+
/boost/iterator//boost_iterator
25+
/boost/lexical_cast//boost_lexical_cast
26+
/boost/math//boost_math_tr1
27+
/boost/mpl//boost_mpl
28+
/boost/multiprecision//boost_multiprecision
29+
/boost/numeric_conversion//boost_numeric_conversion
30+
/boost/polygon//boost_polygon
31+
/boost/predef//boost_predef
32+
/boost/qvm//boost_qvm
33+
/boost/range//boost_range
34+
/boost/rational//boost_rational
35+
/boost/serialization//boost_serialization
36+
/boost/static_assert//boost_static_assert
37+
/boost/thread//boost_thread
38+
/boost/throw_exception//boost_throw_exception
39+
/boost/tokenizer//boost_tokenizer
40+
/boost/tuple//boost_tuple
41+
/boost/type_traits//boost_type_traits
42+
/boost/variant//boost_variant
43+
/boost/variant2//boost_variant2 ;
44+
45+
project /boost/geometry
46+
: common-requirements
47+
<include>include
48+
: requirements
49+
[ requires
50+
cxx14_constexpr
51+
cxx14_return_type_deduction
52+
]
53+
<toolset>msvc:<asynch-exceptions>on
54+
;
55+
56+
explicit
57+
[ alias boost_geometry : : : : <library>$(boost_dependencies) ]
58+
[ alias all : boost_geometry test example doc/src/examples index extensions ]
59+
;
60+
61+
call-if : boost-library geometry
62+
;
63+

doc/Jamfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
project geometry/doc ;
1212

1313
# Auto-index, experimental. Commented otherwise does not build without.
14-
#using auto-index ;
14+
#using auto-index ;
1515
using quickbook ;
16+
using python ;
1617

1718
path-constant here : . ;
1819
path-constant images_location : html ;
@@ -23,13 +24,14 @@ testing.make-test run-pyd :
2324
:
2425
<pythonpath>$(here)
2526
<dependency>src/docutils/tools/doxygen_xml2qbk//doxygen_xml2qbk
27+
<dependency>doxy/Doxyfile
2628
<testing.arg>"--release-build --doxygen-xml2qbk"
2729
<testing.input-file>src/docutils/tools/doxygen_xml2qbk//doxygen_xml2qbk
2830
:
2931
make_qbk ;
3032
explicit make_qbk ;
3133

32-
boostbook geometry
34+
boostbook geometry
3335
: geometry.qbk
3436
: <dependency>Jamfile
3537
<dependency>quickref.xml
@@ -47,7 +49,7 @@ boostbook geometry
4749
<xsl:param>boost.root=../../../..
4850
<quickbook-define>enable_index
4951
<include>$(here)
50-
<format>pdf:<xsl:param>img.src.path=$(images_location)/
52+
<format>pdf:<xsl:param>img.src.path=$(images_location)/
5153
<dependency>make_qbk
5254
;
5355

doc/concept/point.qbk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ struct access<std::array<T, D>, Index> {
6868
* [link geometry.reference.adapted.boost_fusion Boost.Fusion]
6969
* [link geometry.reference.adapted.boost_polygon Boost.Polygon]
7070
* [link geometry.reference.adapted.boost_tuple Boost.Tuple]
71-
* other point types, adapted e.g. using one of the [link geometry.reference.adapted registration macro's]
71+
* other point types, adapted e.g. using one of the [link geometry.reference.adapted.register registration macro's]
7272

7373
[endsect]
7474

doc/debug_clean_doc.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# ===========================================================================
2+
# Copyright (c) 2024-2024 Barend Gehrels, Amsterdam, the Netherlands.
3+
#
4+
# Use, modification and distribution is subject to the Boost Software License,
5+
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6+
# http://www.boost.org/LICENSE_1_0.txt)
7+
# ============================================================================
8+
9+
# Removes all generated output
10+
11+
b2 clean
12+
13+
rm -f index/generated/*.qbk
14+
rm -f generated/*.qbk
15+
rm -f generated/*.xml
16+
rm -Rf html/geometry
17+
rm -Rf doxy/doxygen_output/xml
18+
rm -Rf doxy/doxygen_output/html_by_doxygen
19+
rm -Rf index/xml
20+
rm -Rf index/html_by_doxygen
21+
22+
git ls-files --others

0 commit comments

Comments
 (0)