Compare commits

...

19 Commits

Author SHA1 Message Date
Peter Dimov
e46566bc89 Update dependency list in cmake_subdir_test 2024-08-22 14:25:59 +03:00
Peter Dimov
bd668a0d9c Add VERBATIM to add_custom_target 2024-08-22 14:25:24 +03:00
Peter Dimov
bc78cd0f3d Update build.jam, test/Jamfile 2024-08-22 14:21:16 +03:00
Peter Dimov
27bbedd3a1 Merge branch 'modular' of https://github.com/grafikrobot/boostorg.function into feature/modular-b2 2024-08-22 14:17:05 +03:00
Peter Dimov
55567d8128 Regenerate CMakeLists.txt 2024-08-22 13:41:09 +03:00
Peter Dimov
7e4d90c87d Update .drone.jsonnet 2024-08-22 13:11:58 +03:00
Peter Dimov
b4ce38b1a0 Update ci.yml 2024-08-22 13:04:04 +03:00
Rene Rivera
e198ea3bc1 Update build deps. 2024-08-03 12:06:25 -05:00
Rene Rivera
0daa9f439e Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:22 -05:00
Rene Rivera
edd5bc27ed Update copyright dates. 2024-07-20 22:52:04 -05:00
Rene Rivera
b397ad461e Change all <source> references to <library>. 2024-07-20 19:38:32 -05:00
Rene Rivera
92b9a12c67 Bump B2 require to 5.2 2024-06-14 11:33:55 -05:00
Rene Rivera
98ae625d5b Sync from upstream. 2024-06-10 21:39:55 -05:00
Rene Rivera
c7ca5cc828 Add missing test deps. 2024-05-14 07:33:12 -05:00
Rene Rivera
d9647610ff Update dependencies. 2024-05-13 21:45:46 -05:00
Rene Rivera
96e26bb93e Sync from upstream. 2024-05-12 13:26:14 -05:00
Rene Rivera
b2fdb20690 Add requires-b2 check to top-level build file. 2024-05-05 09:00:01 -05:00
Rene Rivera
13407f5e3e Switch to library requirements instead of source. As source puts extra source in install targets. 2024-03-29 21:15:58 -05:00
Rene Rivera
7248975133 Make the library modular usable. 2024-03-11 08:38:17 -05:00
8 changed files with 70 additions and 39 deletions

View File

@@ -32,6 +32,8 @@ local linux_pipeline(name, image, environment, packages = "", sources = [], arch
commands: commands:
[ [
'set -e', 'set -e',
'uname -a',
'echo $DRONE_STAGE_MACHINE',
'wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -', 'wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -',
] + ] +
(if sources != [] then [ ('apt-add-repository "' + source + '"') for source in sources ] else []) + (if sources != [] then [ ('apt-add-repository "' + source + '"') for source in sources ] else []) +
@@ -150,16 +152,16 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
), ),
linux_pipeline( linux_pipeline(
"Linux 20.04 GCC 9* ARM64 ASAN", "Linux 20.04 GCC 9* ARM64 UBSAN",
"cppalliance/droneubuntu2004:multiarch", "cppalliance/droneubuntu2004:multiarch",
{ TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '11,14,17,2a' } + asan, { TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '11,14,17,2a' } + ubsan,
arch="arm64", arch="arm64",
), ),
linux_pipeline( linux_pipeline(
"Linux 20.04 GCC 9* ARM64 UBSAN", "Linux 20.04 GCC 9* ARM64 ASAN",
"cppalliance/droneubuntu2004:multiarch", "cppalliance/droneubuntu2004:multiarch",
{ TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '11,14,17,2a' } + ubsan, { TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '11,14,17,2a' } + asan,
arch="arm64", arch="arm64",
), ),
@@ -191,23 +193,23 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
), ),
linux_pipeline( linux_pipeline(
"Linux 23.04 GCC 13 32/64 ASAN", "Linux 23.04 GCC 13 32/64",
"cppalliance/droneubuntu2304:1", "cppalliance/droneubuntu2304:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' } + asan, { TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' },
"g++-13-multilib", "g++-13-multilib",
), ),
linux_pipeline( linux_pipeline(
"Linux 23.04 GCC 13 32/64 UBSAN", "Linux 24.04 GCC 14 32/64 UBSAN",
"cppalliance/droneubuntu2304:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' } + ubsan,
"g++-13-multilib",
),
linux_pipeline(
"Linux 24.04 GCC 14 32/64",
"cppalliance/droneubuntu2404:1", "cppalliance/droneubuntu2404:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' }, { TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' } + ubsan,
"g++-14-multilib",
),
linux_pipeline(
"Linux 24.04 GCC 14 32/64 ASAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' } + asan,
"g++-14-multilib", "g++-14-multilib",
), ),

View File

@@ -18,7 +18,7 @@ jobs:
matrix: matrix:
include: include:
- toolset: gcc-4.7 - toolset: gcc-4.7
cxxstd: "0x" cxxstd: "11"
container: ubuntu:16.04 container: ubuntu:16.04
os: ubuntu-latest os: ubuntu-latest
install: g++-4.7-multilib install: g++-4.7-multilib
@@ -175,9 +175,6 @@ jobs:
container: ubuntu:24.04 container: ubuntu:24.04
os: ubuntu-latest os: ubuntu-latest
install: clang-18 install: clang-18
- toolset: clang
cxxstd: "11,14,17,2a"
os: macos-11
- toolset: clang - toolset: clang
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
os: macos-12 os: macos-12
@@ -196,6 +193,10 @@ jobs:
shell: bash shell: bash
steps: steps:
- name: Enable Node 16
run: |
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Setup container environment - name: Setup container environment
@@ -272,7 +273,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd
@@ -309,14 +310,14 @@ jobs:
include: include:
- os: ubuntu-20.04 - os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: macos-11
- os: macos-12 - os: macos-12
- os: macos-13 - os: macos-13
- os: macos-14
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -357,14 +358,14 @@ jobs:
include: include:
- os: ubuntu-20.04 - os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: macos-11
- os: macos-12 - os: macos-12
- os: macos-13 - os: macos-13
- os: macos-14
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -415,14 +416,14 @@ jobs:
include: include:
- os: ubuntu-20.04 - os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: macos-11
- os: macos-12 - os: macos-12
- os: macos-13 - os: macos-13
- os: macos-14
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -475,7 +476,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd
@@ -524,7 +525,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd
@@ -591,7 +592,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd

View File

@@ -19,7 +19,6 @@ target_link_libraries(boost_function
Boost::config Boost::config
Boost::core Boost::core
Boost::throw_exception Boost::throw_exception
Boost::type_traits
) )
target_compile_features(boost_function INTERFACE cxx_std_11) target_compile_features(boost_function INTERFACE cxx_std_11)

24
build.jam Normal file
View File

@@ -0,0 +1,24 @@
# Copyright 2023-2024 René Ferdinand Rivera Morell
# Copyright 2024 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt
require-b2 5.2 ;
constant boost_dependencies :
/boost/assert//boost_assert
/boost/bind//boost_bind
/boost/config//boost_config
/boost/core//boost_core
/boost/throw_exception//boost_throw_exception
;
project /boost/function ;
explicit
[ alias boost_function : : : : <include>include <library>$(boost_dependencies) ]
[ alias all : boost_function example test ]
;
call-if : boost-library function
;

View File

@@ -6,9 +6,13 @@
# See accompanying file LICENSE_1_0.txt or copy at # See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt # 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 testing ; import testing ;
project : requirements <library>/boost/function//boost_function ;
run bind1st.cpp : : : [ requires cxx98_binders ] ; run bind1st.cpp : : : [ requires cxx98_binders ] ;
run int_div.cpp ; run int_div.cpp ;
run sum_avg.cpp ; run sum_avg.cpp ;

View File

@@ -16,6 +16,8 @@ project
<toolset>msvc:<warnings-as-errors>on <toolset>msvc:<warnings-as-errors>on
<toolset>gcc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on
<toolset>clang:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on
<library>/boost/function//boost_function
<library>/boost/typeof//boost_typeof
; ;
run function_test.cpp ; run function_test.cpp ;
@@ -24,7 +26,8 @@ run function_test.cpp : : : <rtti>off <toolset>gcc-4.4,<cxxstd>0x:<build>no : fu
run function_n_test.cpp ; run function_n_test.cpp ;
run allocator_test.cpp ; run allocator_test.cpp ;
run stateless_test.cpp ; run stateless_test.cpp ;
run lambda_test.cpp ; run lambda_test.cpp
: : : <library>/boost/lambda//boost_lambda ;
compile-fail function_test_fail1.cpp ; compile-fail function_test_fail1.cpp ;
compile-fail function_test_fail2.cpp ; compile-fail function_test_fail2.cpp ;
compile function_30.cpp ; compile function_30.cpp ;
@@ -42,9 +45,10 @@ run function_ref_portable.cpp ;
run contains_test.cpp ; run contains_test.cpp ;
run contains2_test.cpp ; run contains2_test.cpp ;
run nothrow_swap.cpp ; run nothrow_swap.cpp ;
run rvalues_test.cpp ; run rvalues_test.cpp
: : : <library>/boost/move//boost_move ;
compile function_typeof_test.cpp compile function_typeof_test.cpp
: <cxxstd>03:<build>no <cxxstd>98:<build>no <cxxstd>0x:<build>no ; : <cxxstd>03:<build>no <cxxstd>98:<build>no <cxxstd>0x:<build>no ;
run result_arg_types_test.cpp ; run result_arg_types_test.cpp ;
run result_arg_n_types_test.cpp ; run result_arg_n_types_test.cpp ;

View File

@@ -14,4 +14,4 @@ target_link_libraries(main Boost::function)
enable_testing() enable_testing()
add_test(main main) add_test(main main)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>) add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)

View File

@@ -16,10 +16,7 @@ assert
bind bind
config config
core core
preprocessor
throw_exception throw_exception
type_traits
typeof
# Secondary dependencies # Secondary dependencies
@@ -40,4 +37,4 @@ target_link_libraries(quick Boost::function Boost::core)
enable_testing() enable_testing()
add_test(quick quick) add_test(quick quick)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>) add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)