diff --git a/.gitignore b/.gitignore index 2f86751553..82e4d9b538 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ stdcerr # JetBrains /.idea + +!build.jam diff --git a/Jamfile b/Jamfile deleted file mode 100644 index 45c27ab1d0..0000000000 --- a/Jamfile +++ /dev/null @@ -1,26 +0,0 @@ -# Boost.Geometry (aka GGL, Generic Geometry Library) -# -# Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands. -# Copyright (c) 2008-2013 Bruno Lalande, Paris, France. -# Copyright (c) 2009-2022 Mateusz Loskot, London, UK. -# -# Use, modification and distribution is subject to 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 ; - -project boost-geometry - : - requirements - [ requires - cxx14_constexpr - cxx14_return_type_deduction - ] - msvc:on - ; - -build-project test ; -build-project example ; -build-project doc/src/examples ; -build-project index ; diff --git a/build.jam b/build.jam new file mode 100644 index 0000000000..fd6e0f66a4 --- /dev/null +++ b/build.jam @@ -0,0 +1,63 @@ +# 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 ; + +import-search /boost/config/checks ; +import config : requires ; + +constant boost_dependencies : + /boost/algorithm//boost_algorithm + /boost/any//boost_any + /boost/array//boost_array + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/container//boost_container + /boost/core//boost_core + /boost/endian//boost_endian + /boost/function_types//boost_function_types + /boost/fusion//boost_fusion + /boost/integer//boost_integer + /boost/iterator//boost_iterator + /boost/lexical_cast//boost_lexical_cast + /boost/math//boost_math_tr1 + /boost/mpl//boost_mpl + /boost/multiprecision//boost_multiprecision + /boost/numeric_conversion//boost_numeric_conversion + /boost/polygon//boost_polygon + /boost/predef//boost_predef + /boost/qvm//boost_qvm + /boost/range//boost_range + /boost/rational//boost_rational + /boost/serialization//boost_serialization + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/throw_exception//boost_throw_exception + /boost/tokenizer//boost_tokenizer + /boost/tuple//boost_tuple + /boost/type_traits//boost_type_traits + /boost/variant//boost_variant + /boost/variant2//boost_variant2 ; + +project /boost/geometry + : common-requirements + include + : requirements + [ requires + cxx14_constexpr + cxx14_return_type_deduction + ] + msvc:on + ; + +explicit + [ alias boost_geometry : : : : $(boost_dependencies) ] + [ alias all : boost_geometry test example doc/src/examples index extensions ] + ; + +call-if : boost-library geometry + ; + diff --git a/doc/Jamfile b/doc/Jamfile index 91b1139a3b..69f0cb26f3 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -11,8 +11,9 @@ project geometry/doc ; # Auto-index, experimental. Commented otherwise does not build without. -#using auto-index ; +#using auto-index ; using quickbook ; +using python ; path-constant here : . ; path-constant images_location : html ; @@ -29,7 +30,7 @@ testing.make-test run-pyd : make_qbk ; explicit make_qbk ; -boostbook geometry +boostbook geometry : geometry.qbk : Jamfile quickref.xml @@ -47,7 +48,7 @@ boostbook geometry boost.root=../../../.. enable_index $(here) - pdf:img.src.path=$(images_location)/ + pdf:img.src.path=$(images_location)/ make_qbk ; diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/Jamfile b/doc/src/docutils/tools/doxygen_xml2qbk/Jamfile index 438df2cb16..87360453f5 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/Jamfile +++ b/doc/src/docutils/tools/doxygen_xml2qbk/Jamfile @@ -26,7 +26,7 @@ project doxygen_xml2qbk : requirements . $(RAPIDXML) - ../../../../../../program_options/build//boost_program_options + /boost/program_options//boost_program_options static ; diff --git a/doc/src/examples/Jamfile b/doc/src/examples/Jamfile index fbc49fe39b..8fbe26c603 100644 --- a/doc/src/examples/Jamfile +++ b/doc/src/examples/Jamfile @@ -10,11 +10,12 @@ project boost-geometry-doc-src-example - : # requirements + : requirements + /boost/geometry//boost_geometry ; exe quick_start : quick_start.cpp ; - + build-project algorithms ; build-project core ; build-project geometries ; diff --git a/doc/src/examples/algorithms/Jamfile b/doc/src/examples/algorithms/Jamfile index 4d0f056a3c..84e160c1a5 100644 --- a/doc/src/examples/algorithms/Jamfile +++ b/doc/src/examples/algorithms/Jamfile @@ -17,7 +17,9 @@ project boost-geometry-doc-example-algorithms - : # requirements + : requirements + /boost/assign//boost_assign + /boost/foreach//boost_foreach ; exe append : append.cpp ; diff --git a/doc/src/examples/core/Jamfile b/doc/src/examples/core/Jamfile index 4f46ca1dee..2331497e43 100644 --- a/doc/src/examples/core/Jamfile +++ b/doc/src/examples/core/Jamfile @@ -29,5 +29,5 @@ exe interior_type : interior_type.cpp ; exe point_type : point_type.cpp ; exe ring_type : ring_type.cpp ; exe rings : rings.cpp ; -exe tag : tag.cpp ; +exe tag : tag.cpp : /boost/assign//boost_assign ; exe tag_cast : tag_cast.cpp ; diff --git a/doc/src/examples/geometries/adapted/boost_range/Jamfile b/doc/src/examples/geometries/adapted/boost_range/Jamfile index 364d301810..50e78e5a8f 100644 --- a/doc/src/examples/geometries/adapted/boost_range/Jamfile +++ b/doc/src/examples/geometries/adapted/boost_range/Jamfile @@ -10,7 +10,8 @@ project boost-geometry-doc-src-example-geometries-adapted-boost_range - : # requirements + : requirements + /boost/assign//boost_assign ; exe filtered : filtered.cpp ; diff --git a/example/Jamfile b/example/Jamfile index 17fae5000c..c2d7f11512 100644 --- a/example/Jamfile +++ b/example/Jamfile @@ -10,8 +10,10 @@ # http://www.boost.org/LICENSE_1_0.txt) -project boost-geometry-example - : # requirements +project boost-geometry-example + : requirements + /boost/geometry//boost_geometry + /boost/foreach//boost_foreach ; exe 01_point_example : 01_point_example.cpp ; @@ -21,8 +23,8 @@ exe 05_a_overlay_polygon_example : 05_a_overlay_polygon_example.cpp ; exe 05_b_overlay_linestring_polygon_example : 05_b_overlay_linestring_polygon_example.cpp ; exe 06_a_transformation_example : 06_a_transformation_example.cpp ; exe 06_b_transformation_example : 06_b_transformation_example.cpp ; -exe 07_a_graph_route_example : 07_a_graph_route_example.cpp ; -exe 07_b_graph_route_example : 07_b_graph_route_example.cpp ; +exe 07_a_graph_route_example : 07_a_graph_route_example.cpp : /boost/graph//boost_graph ; +exe 07_b_graph_route_example : 07_b_graph_route_example.cpp : /boost/graph//boost_graph ; exe c01_custom_point_example : c01_custom_point_example.cpp ; exe c02_custom_box_example : c02_custom_box_example.cpp ; diff --git a/extensions/Jamfile b/extensions/Jamfile index 3da1ea96cf..97a8f6ac35 100644 --- a/extensions/Jamfile +++ b/extensions/Jamfile @@ -12,6 +12,8 @@ project boost-geometry-extensions : requirements msvc:on + /boost/geometry//boost_geometry + /boost/test//included ; build-project test ; diff --git a/extensions/example/gis/Jamfile b/extensions/example/gis/Jamfile index d3ddc37706..29f18278b6 100644 --- a/extensions/example/gis/Jamfile +++ b/extensions/example/gis/Jamfile @@ -11,8 +11,6 @@ project boost-geometry-extensions-gis-examples : requirements - . - ../../../../../boost gcc:-pedantic ; diff --git a/extensions/example/gis/projections/Jamfile b/extensions/example/gis/projections/Jamfile index 36e8da2671..1b494ebe34 100644 --- a/extensions/example/gis/projections/Jamfile +++ b/extensions/example/gis/projections/Jamfile @@ -10,7 +10,8 @@ project boost-geometry-example-extensions-gis-latlong - : # requirements + : requirements + /boost/foreach//boost_foreach ; exe p01_projection_example : p01_projection_example.cpp ; diff --git a/extensions/test/gis/io/wkb/Jamfile b/extensions/test/gis/io/wkb/Jamfile index 1d9c6870ed..6a7769ccca 100644 --- a/extensions/test/gis/io/wkb/Jamfile +++ b/extensions/test/gis/io/wkb/Jamfile @@ -9,6 +9,10 @@ # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +project : requirements + /boost/assign//boost_assign + /boost/algorithm//boost_algorithm ; + test-suite boost-geometry-extensions-gis-io-wkb : [ run read_wkb.cpp ] diff --git a/index/Jamfile b/index/Jamfile index 3675b7f06a..c01a4263b9 100644 --- a/index/Jamfile +++ b/index/Jamfile @@ -11,6 +11,7 @@ project boost-geometry-index : requirements + /boost/geometry//boost_geometry msvc:on ; diff --git a/index/example/Jamfile b/index/example/Jamfile index 3c7b5b2cd6..4704d716c5 100644 --- a/index/example/Jamfile +++ b/index/example/Jamfile @@ -18,7 +18,7 @@ import os ; project boost-geometry-index-example : requirements - /boost//headers + /boost/foreach//boost_foreach ; local GLUT_ROOT = [ os.environ GLUT_ROOT ] ; @@ -44,11 +44,11 @@ if $(GLUT_ROOT) } exe random_test : random_test.cpp ; -link serialize.cpp /boost//serialization : ; -link benchmark.cpp /boost//chrono : multi ; -link benchmark2.cpp /boost//chrono : multi ; -link benchmark3.cpp /boost//chrono : multi ; -link benchmark_experimental.cpp /boost//chrono : multi ; +link serialize.cpp /boost/serialization//boost_serialization /boost/timer//boost_timer : ; +link benchmark.cpp /boost/chrono//boost_chrono : multi ; +link benchmark2.cpp /boost/chrono//boost_chrono : multi ; +link benchmark3.cpp /boost/chrono//boost_chrono : multi ; +link benchmark_experimental.cpp /boost/chrono//boost_chrono : multi ; if $(GLUT_ROOT) { link glut_vis.cpp glut ; diff --git a/index/test/Jamfile b/index/test/Jamfile index 62d9618f89..f403633dc0 100644 --- a/index/test/Jamfile +++ b/index/test/Jamfile @@ -21,6 +21,7 @@ project boost-geometry-index-test msvc:/bigobj windows,intel:/bigobj /boost/timer//boost_timer + /boost/test//included ; test-suite boost-geometry-index-detail diff --git a/index/test/rtree/interprocess/Jamfile b/index/test/rtree/interprocess/Jamfile index 23008aa615..5d281c5a95 100644 --- a/index/test/rtree/interprocess/Jamfile +++ b/index/test/rtree/interprocess/Jamfile @@ -25,6 +25,7 @@ rule test_all msvc:/bigobj windows,intel:/bigobj linux:"-lrt" + /boost/interprocess//boost_interprocess ] ; } diff --git a/test/Jamfile b/test/Jamfile index 492e41aa3d..2d58dc2cc3 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -18,12 +18,16 @@ import testing ; project boost-geometry-test : requirements + /boost/geometry//boost_geometry . msvc:on msvc:/bigobj clang:-Wno-unneeded-internal-declaration # supress warning by Boost.None intel:BOOST_GEOMETRY_TEST_ONLY_ONE_TYPE windows,intel:/bigobj + /boost/test//included + /boost/foreach//boost_foreach + /boost/assign//boost_assign ; # Run minimal testset @@ -37,7 +41,7 @@ if ! [ os.environ TRAVIS ] { build-project core ; -build-project concepts ; +build-project concepts ; build-project geometries ; build-project arithmetic ; build-project algorithms ; diff --git a/test/headers/Jamfile b/test/headers/Jamfile index d9f07e2a5b..e9905d110e 100644 --- a/test/headers/Jamfile +++ b/test/headers/Jamfile @@ -14,6 +14,8 @@ import os ; import path ; import regex ; +path-constant HEADERS : ../../include/boost/geometry ; + rule generate_self_contained_headers ( headers_subpath ) { # This rule is based on script copied from similar rule in Boost.GIL @@ -29,7 +31,7 @@ rule generate_self_contained_headers ( headers_subpath ) # NOTE: All '/' in test names are replaced with '-' because apparently # test scripts have a problem with test names containing slashes. - local top_headers_path = [ path.make $(BOOST_ROOT)/libs/geometry/include/boost/geometry ] ; + local top_headers_path = [ path.make $(HEADERS) ] ; # Skip the OpenGL visualization related header for local file in [ path.glob-tree $(top_headers_path)/$(headers_subpath) : *.hpp : gl_draw.hpp ] @@ -38,7 +40,7 @@ rule generate_self_contained_headers ( headers_subpath ) local target_name = [ regex.replace h/$(rel_file) "/" "-" ] ; local target_name = [ regex.replace $(target_name) "\.hpp" "" ] ; targets += [ - compile $(BOOST_ROOT)/libs/geometry/test/headers/main.cpp + compile main.cpp : "BOOST_GEOMETRY_TEST_HEADER=$(rel_file)" $(file) : $(target_name) ] ; diff --git a/test/robustness/convex_hull/Jamfile b/test/robustness/convex_hull/Jamfile index 20521d5487..8689219e2e 100644 --- a/test/robustness/convex_hull/Jamfile +++ b/test/robustness/convex_hull/Jamfile @@ -11,7 +11,7 @@ project random_multi_points : requirements . - ../../../../program_options/build//boost_program_options + /boost/program_options//boost_program_options static ; diff --git a/test/robustness/overlay/buffer/Jamfile b/test/robustness/overlay/buffer/Jamfile index f724fcf8c6..88cc95ff86 100644 --- a/test/robustness/overlay/buffer/Jamfile +++ b/test/robustness/overlay/buffer/Jamfile @@ -12,7 +12,7 @@ project recursive_polygons_buffer : requirements . ../.. - ../../../../../program_options/build//boost_program_options + /boost/program_options//boost_program_options static ; diff --git a/test/robustness/overlay/linear_areal/Jamfile b/test/robustness/overlay/linear_areal/Jamfile index a31dadf159..fca297be9e 100644 --- a/test/robustness/overlay/linear_areal/Jamfile +++ b/test/robustness/overlay/linear_areal/Jamfile @@ -12,7 +12,7 @@ project recursive_polygons_linear_areal : requirements . ../.. - ../../../../../program_options/build//boost_program_options + /boost/program_options//boost_program_options static ;