Skip to content

[pull] develop from boostorg:develop #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 36 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ae42ebd
Update version
pdimov Apr 14, 2022
c618d69
Re-enable VS2017
pdimov Apr 14, 2022
8c6c116
Update ci.yml
pdimov Apr 14, 2022
fd1a3e4
Remove msvc-14.1 from GHA, add clang-win
pdimov Apr 14, 2022
b55fdcb
Update version
pdimov Aug 14, 2022
d724684
Change macos-10.15 to macos-11 in ci.yml
pdimov Aug 15, 2022
7824b74
Add CMake tests to ci.yml
pdimov Aug 15, 2022
20420e1
Add 'cxxstd' to meta/libraries.json
pdimov Aug 15, 2022
3f43588
Regenerate CMakeLists.txt
pdimov Aug 15, 2022
4b68743
Add gcc-12, clang-13, clang-14 to ci.yml
pdimov Aug 15, 2022
3ba6ab9
Update version
pdimov Dec 15, 2022
8ac9311
Update version
pdimov Apr 15, 2023
2935343
Update ci.yml
pdimov Apr 15, 2023
247f6b7
Update version
pdimov Aug 12, 2023
62815a6
Update ci.yml
pdimov Aug 12, 2023
2c8de60
Update version
pdimov Dec 19, 2023
a17ffc2
Update ci.yml
pdimov Dec 19, 2023
7958b78
Make the library modular usable.
grafikrobot Mar 11, 2024
863cdf2
Update doc/Jamfile
pdimov Apr 16, 2024
94a5676
Revert "Update doc/Jamfile"
pdimov Apr 16, 2024
4118a31
Update version
pdimov Apr 18, 2024
a50009a
Sync from upstream.
grafikrobot Apr 20, 2024
19d484e
Add requires-b2 check to top-level build file.
grafikrobot May 5, 2024
d1fa581
Bump B2 require to 5.2
grafikrobot Jun 14, 2024
ad47d9e
Change all <source> references to <library>.
grafikrobot Jul 21, 2024
53bbeac
Update copyright dates.
grafikrobot Jul 21, 2024
a03806e
Move inter-lib dependencies to a project variable and into the build …
grafikrobot Jul 24, 2024
3a982bf
Update version
pdimov Aug 17, 2024
97f4372
Update ci.yml
pdimov Aug 17, 2024
3d7778f
Sync from upstream.
grafikrobot Aug 17, 2024
3fb266b
Update build.jam, test/Jamfile
pdimov Aug 27, 2024
f1d863c
Add VERBATIM to add_custom_target
pdimov Aug 27, 2024
cb2e51e
Update version
pdimov Dec 13, 2024
6ebe42d
Update ci.yml
pdimov Dec 13, 2024
8466c54
Apply Node20 workaround
pdimov Dec 13, 2024
865eb98
Update ci.yml
pdimov Dec 13, 2024
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
486 changes: 461 additions & 25 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Generated by `boostdep --cmake lambda2`
# Copyright 2020 Peter Dimov
# Copyright 2020, 2021 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt

cmake_minimum_required(VERSION 3.5...3.16)
cmake_minimum_required(VERSION 3.8...3.20)

project(boost_lambda2 VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)

Expand All @@ -12,9 +12,10 @@ add_library(Boost::lambda2 ALIAS boost_lambda2)

target_include_directories(boost_lambda2 INTERFACE include)

target_compile_features(boost_lambda2 INTERFACE cxx_std_14)

if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")

add_subdirectory(test)

endif()

16 changes: 16 additions & 0 deletions build.jam
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 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 ;

project /boost/lambda2 ;

explicit
[ alias boost_lambda2 : : : : <include>include <library>$(boost_dependencies) ]
[ alias all : boost_lambda2 test ]
;

call-if : boost-library lambda2
;
2 changes: 1 addition & 1 deletion include/boost/lambda2/lambda2.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

// Same format as BOOST_VERSION:
// major * 100000 + minor * 100 + patch
#define BOOST_LAMBDA2_VERSION 107900
#define BOOST_LAMBDA2_VERSION 108800

namespace boost
{
Expand Down
3 changes: 2 additions & 1 deletion meta/libraries.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
"description": "A C++14 lambda library.",
"category": [
"Function-objects"
]
],
"cxxstd": "14"
}
11 changes: 11 additions & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Copyright 2018, 2019 Peter Dimov
# 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

include(BoostTestJamfile OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)

if(HAVE_BOOST_TEST)

boost_test_jamfile(FILE Jamfile LINK_LIBRARIES Boost::lambda2 Boost::core)

endif()
10 changes: 8 additions & 2 deletions test/Jamfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,24 @@
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt

import-search /boost/config/checks ;

import testing ;
import ../../config/checks/config : requires ;
import config : requires ;

project : requirements
<library>/boost/lambda2//boost_lambda2
<library>/boost/config//boost_config
<library>/boost/core//boost_core

<warnings>extra

[ requires cxx14_return_type_deduction ]

<toolset>msvc:<warnings-as-errors>on
<toolset>clang:<warnings-as-errors>on
<toolset>gcc:<warnings-as-errors>on ;
<toolset>gcc:<warnings-as-errors>on
;

run quick.cpp ;
run lambda2_test.cpp ;
Expand Down
17 changes: 17 additions & 0 deletions test/cmake_install_test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2018, 2019 Peter Dimov
# 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

cmake_minimum_required(VERSION 3.5...3.16)

project(cmake_install_test LANGUAGES CXX)

find_package(boost_lambda2 REQUIRED)

add_executable(quick ../quick.cpp)
target_link_libraries(quick Boost::lambda2)

enable_testing()
add_test(quick quick)

add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
17 changes: 17 additions & 0 deletions test/cmake_subdir_test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2018, 2019 Peter Dimov
# 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

cmake_minimum_required(VERSION 3.5...3.16)

project(cmake_subdir_test LANGUAGES CXX)

add_subdirectory(../.. boostorg/lambda2)

add_executable(quick ../quick.cpp)
target_link_libraries(quick Boost::lambda2)

enable_testing()
add_test(quick quick)

add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
8 changes: 2 additions & 6 deletions test/quick.cpp
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
// Copyright 2020 Peter Dimov
// Copyright 2020, 2022 Peter Dimov
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt

#include <boost/lambda2.hpp>
#include <boost/core/lightweight_test.hpp>

int main()
{
using namespace boost::lambda2;

BOOST_TEST_EQ( (_1 + _2 * _3)( 1, 2, 3), 1 + 2 * 3 );

return boost::report_errors();
return (_1 + _2 * _3)( 1, 2, 3) == 1 + 2 * 3? 0: 1;
}