1
0
forked from boostorg/bind

Compare commits

...

10 Commits

Author SHA1 Message Date
Peter Dimov
6c895e2419 Merge branch 'feature/min_cmake' of https://github.com/Mike-Devel/bind into feature/pr-15 2019-01-04 19:43:41 +02:00
Peter Dimov
791c3a0b1f Remove essentials from yml files 2018-12-22 04:04:27 +02:00
Peter Dimov
9d4ca0ede4 Remove g++ 4.4/0x from Travis; too broken 2018-12-19 05:10:44 +02:00
Peter Dimov
7a4b89856d Update .yml files 2018-12-18 21:44:12 +02:00
Mike Dev
e2cf9f696a [CMake] Add note about experimental status 2018-12-05 12:14:04 +01:00
Mike Dev
6a6f61f847 [CMake] Add self-test for cmake script 2018-12-05 12:14:04 +01:00
Mike Dev
84c711bbe8 [CMake] Generate cmake target that other libraries can use
... to express their dependency on this library and retrieve any
configuration information such as the include directory, binary
to link to (if any), transitive dependencies, necessary compiler
options or the required c++ standards level.
2018-12-04 15:30:42 +01:00
Peter Dimov
d67200bd2a Add -d0 to b2 headers on Appveyor 2017-12-18 17:03:52 +02:00
Peter Dimov
e9b0d46d0f Add --depth 1 to git clone 2017-12-17 00:12:20 +02:00
Peter Dimov
070185914d Update for VS2017.5 2017-12-15 17:25:22 +02:00
6 changed files with 142 additions and 13 deletions

View File

@@ -6,8 +6,6 @@ language: cpp
sudo: false
python: "2.7"
branches:
only:
- master
@@ -24,10 +22,44 @@ matrix:
- env: BOGUS_JOB=true
include:
# cmake self-test
- os: linux
env: TEST_CMAKE=TRUE #Only for easier identification in travis web gui
install:
- git clone --depth 1 https://github.com/boostorg/config.git ../config
- git clone --depth 1 https://github.com/boostorg/core.git ../core
- git clone --depth 1 https://github.com/boostorg/assert.git ../assert
script:
- mkdir __build__ && cd __build__
- cmake ../test/test_cmake
- cmake --build .
- os: linux
compiler: g++
env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
- os: linux
compiler: g++-4.4
env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98
addons:
apt:
packages:
- g++-4.4
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.6
env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
addons:
apt:
packages:
- g++-4.6
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.7
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
@@ -88,10 +120,36 @@ matrix:
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-8
env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
- os: linux
compiler: /usr/bin/clang++
env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
addons:
apt:
packages:
- clang-3.3
- os: linux
compiler: /usr/bin/clang++
env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
addons:
apt:
packages:
- clang-3.4
- os: linux
compiler: clang++-3.5
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
@@ -172,6 +230,36 @@ matrix:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
- os: linux
compiler: clang++-6.0
env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-6.0
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-6.0
- os: linux
compiler: clang++-7
env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-7
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
- os: linux
compiler: clang++-libc++
env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z VARIANT=release
addons:
apt:
packages:
- libc++-dev
- os: osx
compiler: clang++
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
@@ -179,10 +267,8 @@ matrix:
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
- git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- cp -r $TRAVIS_BUILD_DIR/* libs/bind
- python tools/boostdep/depinst/depinst.py bind

20
CMakeLists.txt Normal file
View File

@@ -0,0 +1,20 @@
# Copyright 2018 Mike Dev
# 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
#
# NOTE: CMake support for Boost.Bind is currently experimental at best
# and the interface is likely to change in the future
cmake_minimum_required(VERSION 3.5)
project(BoostBind LANGUAGES CXX)
add_library(boost_bind INTERFACE)
add_library(Boost::bind ALIAS boost_bind)
target_include_directories(boost_bind INTERFACE include)
target_link_libraries(boost_bind
INTERFACE
Boost::config
Boost::core
)

View File

@@ -26,15 +26,13 @@ install:
- set BOOST_BRANCH=develop
- if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master
- cd ..
- git clone -b %BOOST_BRANCH% https://github.com/boostorg/boost.git boost-root
- git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\bind
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\bind\
- python tools/boostdep/depinst/depinst.py bind
- cmd /c bootstrap
- b2 headers
- b2 -d0 headers
build: off

View File

@@ -2126,7 +2126,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
#include <boost/bind/bind_cc.hpp>
# ifdef __cpp_noexcept_function_type
# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
# undef BOOST_BIND_NOEXCEPT
# define BOOST_BIND_NOEXCEPT noexcept
# include <boost/bind/bind_cc.hpp>
@@ -2187,7 +2187,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
#include <boost/bind/bind_mf_cc.hpp>
#include <boost/bind/bind_mf2_cc.hpp>
# ifdef __cpp_noexcept_function_type
# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
# undef BOOST_BIND_MF_NOEXCEPT
# define BOOST_BIND_MF_NOEXCEPT noexcept
# include <boost/bind/bind_mf_cc.hpp>
@@ -2292,7 +2292,7 @@ template< class R, class T > struct add_cref< R (T::*) () const, 1 >
typedef void type;
};
#ifdef __cpp_noexcept_function_type
#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
template< class R, class T > struct add_cref< R (T::*) () const noexcept, 1 >
{

View File

@@ -0,0 +1,20 @@
# Copyright 2018 Mike Dev
# 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
#
# NOTE: This does NOT run the unit tests for Boost.Bind.
# It only tests, if the CMakeLists.txt file in it's root works as expected
cmake_minimum_required( VERSION 3.5 )
project( BoostBindCMakeSelfTest )
add_subdirectory( ../../../config ${CMAKE_CURRENT_BINARY_DIR}/libs/config )
add_subdirectory( ../../../core ${CMAKE_CURRENT_BINARY_DIR}/libs/core )
add_subdirectory( ../../../assert ${CMAKE_CURRENT_BINARY_DIR}/libs/assert )
add_subdirectory( ../.. ${CMAKE_CURRENT_BINARY_DIR}/libs/boost_bind )
add_executable( boost_bind_cmake_self_test main.cpp )
target_link_libraries( boost_bind_cmake_self_test Boost::bind )

5
test/test_cmake/main.cpp Normal file
View File

@@ -0,0 +1,5 @@
#include <boost/bind.hpp>
int main() {
}