mirror of
https://github.com/boostorg/array.git
synced 2026-06-16 09:02:32 +02:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ecc47cb42c | |||
| d9ccba0907 | |||
| bdc9ff1e24 | |||
| 8ad6749d4a | |||
| ec72fd87a1 | |||
| 3dfc2a089c | |||
| b19ce675ad | |||
| c774c93b3b |
+553
-365
@@ -1,4 +1,4 @@
|
|||||||
name: GitHub Actions CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -6,10 +6,10 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
- githubactions*
|
|
||||||
- feature/**
|
- feature/**
|
||||||
- fix/**
|
|
||||||
- pr/**
|
env:
|
||||||
|
UBSAN_OPTIONS: print_stacktrace=1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
posix:
|
posix:
|
||||||
@@ -17,405 +17,593 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: "TEST_CMAKE=TRUE Job 0"
|
- toolset: gcc-4.8
|
||||||
buildtype: "96ad197d74-2319b6d45f"
|
|
||||||
packages: ""
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
test_cmake: "TRUE"
|
|
||||||
- name: "TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 Job 1"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: ""
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++"
|
|
||||||
cxxstd: "03,11"
|
cxxstd: "03,11"
|
||||||
- name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 2"
|
os: ubuntu-latest
|
||||||
buildtype: "boost"
|
container: ubuntu:18.04
|
||||||
packages: "g++-4.7"
|
install: g++-4.8-multilib
|
||||||
packages_to_remove: ""
|
address-model: 32,64
|
||||||
os: "ubuntu-20.04"
|
- toolset: gcc-5
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++-4.7"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++-4.7"
|
|
||||||
cxxstd: "03,11"
|
|
||||||
- name: "TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 3"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "g++-4.8"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++-4.8"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++-4.8"
|
|
||||||
cxxstd: "03,11"
|
|
||||||
- name: "TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 4"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "g++-4.9"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++-4.9"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++-4.9"
|
|
||||||
cxxstd: "03,11"
|
|
||||||
- name: "TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 5"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "g++-5"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++-5"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++-5"
|
|
||||||
cxxstd: "03,11,14,1z"
|
cxxstd: "03,11,14,1z"
|
||||||
- name: "TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 6"
|
os: ubuntu-latest
|
||||||
buildtype: "boost"
|
container: ubuntu:18.04
|
||||||
packages: "g++-6"
|
install: g++-5-multilib
|
||||||
packages_to_remove: ""
|
address-model: 32,64
|
||||||
os: "ubuntu-20.04"
|
- toolset: gcc-6
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++-6"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++-6"
|
|
||||||
cxxstd: "03,11,14,1z"
|
cxxstd: "03,11,14,1z"
|
||||||
- name: "TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 7"
|
os: ubuntu-latest
|
||||||
buildtype: "boost"
|
container: ubuntu:18.04
|
||||||
packages: "g++-7"
|
install: g++-6-multilib
|
||||||
packages_to_remove: ""
|
address-model: 32,64
|
||||||
os: "ubuntu-20.04"
|
- toolset: gcc-7
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "g++-7"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: ""
|
|
||||||
llvm_ver: ""
|
|
||||||
toolset: "gcc"
|
|
||||||
compiler: "g++-7"
|
|
||||||
cxxstd: "03,11,14,17"
|
cxxstd: "03,11,14,17"
|
||||||
- name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 8"
|
os: ubuntu-20.04
|
||||||
buildtype: "boost"
|
install: g++-7-multilib
|
||||||
packages: ""
|
address-model: 32,64
|
||||||
packages_to_remove: ""
|
- toolset: gcc-8
|
||||||
os: "ubuntu-18.04"
|
cxxstd: "03,11,14,17,2a"
|
||||||
cxx: "clang++"
|
os: ubuntu-20.04
|
||||||
sources: ""
|
install: g++-8-multilib
|
||||||
llvm_os: ""
|
address-model: 32,64
|
||||||
llvm_ver: ""
|
- toolset: gcc-9
|
||||||
toolset: "clang"
|
cxxstd: "03,11,14,17,2a"
|
||||||
compiler: "clang++"
|
os: ubuntu-20.04
|
||||||
cxxstd: "03,11"
|
install: g++-9-multilib
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 9"
|
address-model: 32,64
|
||||||
buildtype: "boost"
|
- toolset: gcc-10
|
||||||
packages: "clang-3.5 libstdc++-4.9-dev"
|
cxxstd: "03,11,14,17,2a"
|
||||||
packages_to_remove: ""
|
os: ubuntu-22.04
|
||||||
os: "ubuntu-20.04"
|
install: g++-10-multilib
|
||||||
container: "ubuntu:16.04"
|
address-model: 32,64
|
||||||
cxx: "clang++-3.5"
|
- toolset: gcc-11
|
||||||
sources: ""
|
cxxstd: "03,11,14,17,20"
|
||||||
llvm_os: "precise"
|
os: ubuntu-22.04
|
||||||
llvm_ver: "3.5"
|
install: g++-11-multilib
|
||||||
toolset: "clang"
|
address-model: 32,64
|
||||||
compiler: "clang++-3.5"
|
- toolset: gcc-12
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: ubuntu-22.04
|
||||||
|
install: g++-12-multilib
|
||||||
|
address-model: 32,64
|
||||||
|
- toolset: gcc-13
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:23.04
|
||||||
|
install: g++-13-multilib
|
||||||
|
address-model: 32,64
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-3.9
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "03,11,14"
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 10"
|
os: ubuntu-latest
|
||||||
buildtype: "boost"
|
container: ubuntu:18.04
|
||||||
packages: "clang-3.6"
|
install: clang-3.9
|
||||||
packages_to_remove: ""
|
- toolset: clang
|
||||||
os: "ubuntu-20.04"
|
compiler: clang++-4.0
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "clang++-3.6"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: "precise"
|
|
||||||
llvm_ver: "3.6"
|
|
||||||
toolset: "clang"
|
|
||||||
compiler: "clang++-3.6"
|
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "03,11,14"
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 11"
|
os: ubuntu-latest
|
||||||
buildtype: "boost"
|
container: ubuntu:18.04
|
||||||
packages: "clang-3.7"
|
install: clang-4.0
|
||||||
packages_to_remove: ""
|
- toolset: clang
|
||||||
os: "ubuntu-20.04"
|
compiler: clang++-5.0
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "clang++-3.7"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: "precise"
|
|
||||||
llvm_ver: "3.7"
|
|
||||||
toolset: "clang"
|
|
||||||
compiler: "clang++-3.7"
|
|
||||||
cxxstd: "03,11,14"
|
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 12"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "clang-3.8 libstdc++-4.9-dev"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "clang++-3.8"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: "precise"
|
|
||||||
llvm_ver: "3.8"
|
|
||||||
toolset: "clang"
|
|
||||||
compiler: "clang++-3.8"
|
|
||||||
cxxstd: "03,11,14"
|
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 13"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "clang-3.9 libstdc++-4.9-dev"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "clang++-3.9"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: "precise"
|
|
||||||
llvm_ver: "3.9"
|
|
||||||
toolset: "clang"
|
|
||||||
compiler: "clang++-3.9"
|
|
||||||
cxxstd: "03,11,14"
|
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 14"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "clang-4.0"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "clang++-4.0"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: "xenial"
|
|
||||||
llvm_ver: "4.0"
|
|
||||||
toolset: "clang"
|
|
||||||
compiler: "clang++-4.0"
|
|
||||||
cxxstd: "03,11,14"
|
|
||||||
- name: "TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 15"
|
|
||||||
buildtype: "boost"
|
|
||||||
packages: "clang-5.0"
|
|
||||||
packages_to_remove: ""
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
container: "ubuntu:16.04"
|
|
||||||
cxx: "clang++-5.0"
|
|
||||||
sources: ""
|
|
||||||
llvm_os: "xenial"
|
|
||||||
llvm_ver: "5.0"
|
|
||||||
toolset: "clang"
|
|
||||||
compiler: "clang++-5.0"
|
|
||||||
cxxstd: "03,11,14,1z"
|
cxxstd: "03,11,14,1z"
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:18.04
|
||||||
|
install: clang-5.0
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-6.0
|
||||||
|
cxxstd: "03,11,14,17"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
install: clang-6.0
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-7
|
||||||
|
cxxstd: "03,11,14,17"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
install: clang-7
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-8
|
||||||
|
cxxstd: "03,11,14,17"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
install: clang-8
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-9
|
||||||
|
cxxstd: "03,11,14,17,2a"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
install: clang-9
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-10
|
||||||
|
cxxstd: "03,11,14,17,2a"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-11
|
||||||
|
cxxstd: "03,11,14,17,2a"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-12
|
||||||
|
cxxstd: "03,11,14,17,20"
|
||||||
|
os: ubuntu-20.04
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-13
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: ubuntu-22.04
|
||||||
|
install: clang-13
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-14
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: ubuntu-22.04
|
||||||
|
install: clang-14
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-15
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: ubuntu-22.04
|
||||||
|
install: clang-15
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-16
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:23.04
|
||||||
|
install: clang-16
|
||||||
|
- toolset: clang
|
||||||
|
cxxstd: "03,11,14,17,2a"
|
||||||
|
os: macos-11
|
||||||
|
- toolset: clang
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: macos-12
|
||||||
|
- toolset: clang
|
||||||
|
cxxstd: "03,11,14,17,20,2b"
|
||||||
|
os: macos-13
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{matrix.os}}
|
||||||
container: ${{ matrix.container }}
|
container: ${{matrix.container}}
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check if running in container
|
- uses: actions/checkout@v3
|
||||||
if: matrix.container != ''
|
|
||||||
run: echo "GHA_CONTAINER=${{ matrix.container }}" >> $GITHUB_ENV
|
- name: Setup container environment
|
||||||
- name: If running in container, upgrade packages
|
if: matrix.container
|
||||||
if: matrix.container != ''
|
|
||||||
run: |
|
run: |
|
||||||
apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python ruby cpio gcc-multilib g++-multilib pkgconf python3 ccache libpython-dev
|
apt-get update
|
||||||
sudo apt-add-repository ppa:git-core/ppa
|
apt-get -y install sudo python3 git g++
|
||||||
sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git
|
|
||||||
python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))')
|
|
||||||
sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py
|
|
||||||
sudo python3 get-pip.py
|
|
||||||
sudo /usr/local/bin/pip install cmake
|
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
- name: Install packages
|
||||||
|
if: matrix.install
|
||||||
- name: linux
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
CXX: ${{ matrix.cxx }}
|
|
||||||
SOURCES: ${{ matrix.sources }}
|
|
||||||
LLVM_OS: ${{ matrix.llvm_os }}
|
|
||||||
LLVM_VER: ${{ matrix.llvm_ver }}
|
|
||||||
PACKAGES: ${{ matrix.packages }}
|
|
||||||
PACKAGES_TO_REMOVE: ${{ matrix.packages_to_remove }}
|
|
||||||
JOB_BUILDTYPE: ${{ matrix.buildtype }}
|
|
||||||
TEST_CMAKE: ${{ matrix.test_cmake }}
|
|
||||||
TOOLSET: ${{ matrix.toolset }}
|
|
||||||
COMPILER: ${{ matrix.compiler }}
|
|
||||||
CXXSTD: ${{ matrix.cxxstd }}
|
|
||||||
TRAVIS_BRANCH: ${{ github.base_ref }}
|
|
||||||
TRAVIS_OS_NAME: "linux"
|
|
||||||
run: |
|
run: |
|
||||||
echo '==================================> SETUP'
|
sudo apt-get update
|
||||||
echo '==================================> PACKAGES'
|
sudo apt-get -y install ${{matrix.install}}
|
||||||
set -e
|
|
||||||
if [ -n "$PACKAGES_TO_REMOVE" ]; then sudo apt-get purge -y $PACKAGES_TO_REMOVE; fi
|
|
||||||
echo ">>>>> APT: REPO.."
|
|
||||||
for i in {1..3}; do sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break || sleep 2; done
|
|
||||||
|
|
||||||
if test -n "${LLVM_OS}" ; then
|
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
||||||
if test -n "${LLVM_VER}" ; then
|
|
||||||
sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS}-${LLVM_VER} main"
|
|
||||||
else
|
|
||||||
# Snapshot (i.e. trunk) build of clang
|
|
||||||
sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS} main"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo ">>>>> APT: UPDATE.."
|
|
||||||
sudo -E apt-get -o Acquire::Retries=3 update
|
|
||||||
if test -n "${SOURCES}" ; then
|
|
||||||
echo ">>>>> APT: INSTALL SOURCES.."
|
|
||||||
for SOURCE in $SOURCES; do
|
|
||||||
sudo -E apt-add-repository ppa:$SOURCE
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
echo ">>>>> APT: INSTALL ${PACKAGES}.."
|
|
||||||
sudo -E DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 -y --no-install-suggests --no-install-recommends install ${PACKAGES}
|
|
||||||
|
|
||||||
echo '==================================> INSTALL AND COMPILE'
|
- name: Setup Boost
|
||||||
set -e
|
run: |
|
||||||
export TRAVIS_BUILD_DIR=$(pwd)
|
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||||
export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
|
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||||
export VCS_COMMIT_ID=$GITHUB_SHA
|
echo LIBRARY: $LIBRARY
|
||||||
export GIT_COMMIT=$GITHUB_SHA
|
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||||
export REPO_NAME=$(basename $GITHUB_REPOSITORY)
|
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||||
export USER=$(whoami)
|
echo GITHUB_REF: $GITHUB_REF
|
||||||
export CC=${CC:-gcc}
|
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||||
export PATH=~/.local/bin:/usr/local/bin:$PATH
|
REF=${REF#refs/heads/}
|
||||||
|
echo REF: $REF
|
||||||
if [ "$JOB_BUILDTYPE" == "96ad197d74-2319b6d45f" ]; then
|
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||||
|
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||||
echo '==================================> INSTALL'
|
|
||||||
|
|
||||||
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
|
|
||||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/assert.git ../assert
|
|
||||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/config.git ../config
|
|
||||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/core.git ../core
|
|
||||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/static_assert.git ../static_assert
|
|
||||||
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/throw_exception.git ../throw_exception
|
|
||||||
|
|
||||||
echo '==================================> SCRIPT'
|
|
||||||
|
|
||||||
mkdir __build__ && cd __build__
|
|
||||||
cmake ../test/test_cmake
|
|
||||||
cmake --build .
|
|
||||||
|
|
||||||
elif [ "$JOB_BUILDTYPE" == "boost" ]; then
|
|
||||||
|
|
||||||
echo '==================================> INSTALL'
|
|
||||||
|
|
||||||
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
|
|
||||||
cd ..
|
cd ..
|
||||||
git clone -b $BOOST_BRANCH --depth 1 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
|
cd boost-root
|
||||||
git submodule update --init tools/build
|
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||||
git submodule update --init libs/config
|
|
||||||
git submodule update --init tools/boostdep
|
git submodule update --init tools/boostdep
|
||||||
cp -r $TRAVIS_BUILD_DIR/* libs/array
|
python3 tools/boostdep/depinst/depinst.py -I examples --git_args "--jobs 3" $LIBRARY
|
||||||
python tools/boostdep/depinst/depinst.py array
|
|
||||||
./bootstrap.sh
|
./bootstrap.sh
|
||||||
./b2 headers
|
./b2 -d0 headers
|
||||||
|
|
||||||
echo '==================================> SCRIPT'
|
- name: Create user-config.jam
|
||||||
|
if: matrix.compiler
|
||||||
|
run: |
|
||||||
|
echo "using ${{matrix.toolset}} : : ${{matrix.compiler}} ;" > ~/user-config.jam
|
||||||
|
|
||||||
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
|
- name: Run tests
|
||||||
./b2 -j 3 libs/array/test toolset=$TOOLSET cxxstd=$CXXSTD
|
run: |
|
||||||
|
cd ../boost-root
|
||||||
|
export ADDRMD=${{matrix.address-model}}
|
||||||
|
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} variant=debug,release
|
||||||
|
|
||||||
fi
|
windows:
|
||||||
osx:
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 16"
|
- toolset: msvc-14.0
|
||||||
buildtype: "boost"
|
cxxstd: 14,latest
|
||||||
packages: ""
|
addrmd: 32,64
|
||||||
os: "macos-11"
|
os: windows-2019
|
||||||
cxx: "clang++"
|
- toolset: msvc-14.2
|
||||||
sources: ""
|
cxxstd: "14,17,20,latest"
|
||||||
llvm_os: ""
|
addrmd: 32,64
|
||||||
llvm_ver: ""
|
os: windows-2019
|
||||||
xcode_version: 11.7
|
- toolset: msvc-14.3
|
||||||
toolset: "clang"
|
cxxstd: "14,17,20,latest"
|
||||||
compiler: "clang++"
|
addrmd: 32,64
|
||||||
cxxstd: "03,11,14,1z"
|
os: windows-2022
|
||||||
|
- toolset: clang-win
|
||||||
|
cxxstd: "14,17,latest"
|
||||||
|
addrmd: 32,64
|
||||||
|
os: windows-2022
|
||||||
|
- toolset: gcc
|
||||||
|
cxxstd: "03,11,14,17,2a"
|
||||||
|
addrmd: 64
|
||||||
|
os: windows-2019
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set DEVELOPER_DIR
|
- name: Setup Boost
|
||||||
if: matrix.xcode_version != ''
|
shell: cmd
|
||||||
run: echo "DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode_version }}.app/Contents/Developer" >> $GITHUB_ENV
|
|
||||||
- name: Test DEVELOPER_DIR
|
|
||||||
run: echo $DEVELOPER_DIR
|
|
||||||
|
|
||||||
- name: "osx"
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
CXX: ${{ matrix.cxx }}
|
|
||||||
SOURCES: ${{ matrix.sources }}
|
|
||||||
LLVM_OS: ${{ matrix.llvm_os }}
|
|
||||||
LLVM_VER: ${{ matrix.llvm_ver }}
|
|
||||||
PACKAGES: ${{ matrix.packages }}
|
|
||||||
JOB_BUILDTYPE: ${{ matrix.buildtype }}
|
|
||||||
TEST_CMAKE: ${{ matrix.test_cmake }}
|
|
||||||
TOOLSET: ${{ matrix.toolset }}
|
|
||||||
COMPILER: ${{ matrix.compiler }}
|
|
||||||
CXXSTD: ${{ matrix.cxxstd }}
|
|
||||||
TRAVIS_BRANCH: ${{ github.base_ref }}
|
|
||||||
TRAVIS_OS_NAME: "osx"
|
|
||||||
run: |
|
run: |
|
||||||
echo '==================================> SETUP'
|
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||||
set -e
|
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||||
sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.bck
|
echo LIBRARY: %LIBRARY%
|
||||||
echo '==================================> PACKAGES'
|
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||||
echo '==================================> INSTALL AND COMPILE'
|
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||||
set -e
|
echo GITHUB_REF: %GITHUB_REF%
|
||||||
export TRAVIS_BUILD_DIR=$(pwd)
|
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||||
export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
|
set BOOST_BRANCH=develop
|
||||||
export VCS_COMMIT_ID=$GITHUB_SHA
|
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||||
export GIT_COMMIT=$GITHUB_SHA
|
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||||
export REPO_NAME=$(basename $GITHUB_REPOSITORY)
|
cd ..
|
||||||
export USER=$(whoami)
|
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
export CC=${CC:-gcc}
|
cd boost-root
|
||||||
export PATH=~/.local/bin:/usr/local/bin:$PATH
|
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py -I examples --git_args "--jobs 3" %LIBRARY%
|
||||||
|
cmd /c bootstrap
|
||||||
|
b2 -d0 headers
|
||||||
|
|
||||||
if [ "$JOB_BUILDTYPE" == "boost" ]; then
|
- name: Run tests
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root
|
||||||
|
b2 -j3 libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release embed-manifest-via=linker
|
||||||
|
|
||||||
echo '==================================> INSTALL'
|
posix-cmake-subdir:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
- os: macos-11
|
||||||
|
- os: macos-12
|
||||||
|
- os: macos-13
|
||||||
|
|
||||||
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
if: matrix.install
|
||||||
|
run: sudo apt-get -y install ${{matrix.install}}
|
||||||
|
|
||||||
|
- name: Setup Boost
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||||
|
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||||
|
echo LIBRARY: $LIBRARY
|
||||||
|
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||||
|
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||||
|
echo GITHUB_REF: $GITHUB_REF
|
||||||
|
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||||
|
REF=${REF#refs/heads/}
|
||||||
|
echo REF: $REF
|
||||||
|
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||||
|
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||||
cd ..
|
cd ..
|
||||||
git clone -b $BOOST_BRANCH --depth 1 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
|
cd boost-root
|
||||||
git submodule update --init tools/build
|
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||||
git submodule update --init libs/config
|
|
||||||
git submodule update --init tools/boostdep
|
git submodule update --init tools/boostdep
|
||||||
cp -r $TRAVIS_BUILD_DIR/* libs/array
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
|
||||||
python tools/boostdep/depinst/depinst.py array
|
|
||||||
./bootstrap.sh
|
|
||||||
./b2 headers
|
|
||||||
|
|
||||||
echo '==================================> SCRIPT'
|
- name: Use library with add_subdirectory
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/libs/$LIBRARY/test/cmake_subdir_test
|
||||||
|
mkdir __build__ && cd __build__
|
||||||
|
cmake ..
|
||||||
|
cmake --build .
|
||||||
|
ctest --output-on-failure --no-tests=error
|
||||||
|
|
||||||
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
|
posix-cmake-install:
|
||||||
./b2 -j 3 libs/array/test toolset=$TOOLSET cxxstd=$CXXSTD
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
- os: macos-11
|
||||||
|
- os: macos-12
|
||||||
|
- os: macos-13
|
||||||
|
|
||||||
fi
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
if: matrix.install
|
||||||
|
run: sudo apt-get -y install ${{matrix.install}}
|
||||||
|
|
||||||
|
- name: Setup Boost
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||||
|
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||||
|
echo LIBRARY: $LIBRARY
|
||||||
|
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||||
|
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||||
|
echo GITHUB_REF: $GITHUB_REF
|
||||||
|
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||||
|
REF=${REF#refs/heads/}
|
||||||
|
echo REF: $REF
|
||||||
|
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||||
|
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||||
|
cd ..
|
||||||
|
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
|
cd boost-root
|
||||||
|
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cd ../boost-root
|
||||||
|
mkdir __build__ && cd __build__
|
||||||
|
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DCMAKE_INSTALL_PREFIX=~/.local ..
|
||||||
|
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
cmake --build . --target install
|
||||||
|
|
||||||
|
- name: Use the installed library
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/libs/$LIBRARY/test/cmake_install_test && mkdir __build__ && cd __build__
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
|
||||||
|
cmake --build .
|
||||||
|
ctest --output-on-failure --no-tests=error
|
||||||
|
|
||||||
|
posix-cmake-test:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
- os: macos-11
|
||||||
|
- os: macos-12
|
||||||
|
- os: macos-13
|
||||||
|
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
if: matrix.install
|
||||||
|
run: sudo apt-get -y install ${{matrix.install}}
|
||||||
|
|
||||||
|
- name: Setup Boost
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||||
|
LIBRARY=${GITHUB_REPOSITORY#*/}
|
||||||
|
echo LIBRARY: $LIBRARY
|
||||||
|
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
|
||||||
|
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
|
||||||
|
echo GITHUB_REF: $GITHUB_REF
|
||||||
|
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
|
||||||
|
REF=${REF#refs/heads/}
|
||||||
|
echo REF: $REF
|
||||||
|
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
|
||||||
|
echo BOOST_BRANCH: $BOOST_BRANCH
|
||||||
|
cd ..
|
||||||
|
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
|
cd boost-root
|
||||||
|
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
cd ../boost-root
|
||||||
|
mkdir __build__ && cd __build__
|
||||||
|
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DBUILD_TESTING=ON ..
|
||||||
|
|
||||||
|
- name: Build tests
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
cmake --build . --target tests
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
ctest --output-on-failure --no-tests=error
|
||||||
|
|
||||||
|
windows-cmake-subdir:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: windows-2019
|
||||||
|
- os: windows-2022
|
||||||
|
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Setup Boost
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||||
|
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||||
|
echo LIBRARY: %LIBRARY%
|
||||||
|
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||||
|
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||||
|
echo GITHUB_REF: %GITHUB_REF%
|
||||||
|
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||||
|
set BOOST_BRANCH=develop
|
||||||
|
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||||
|
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||||
|
cd ..
|
||||||
|
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
|
cd boost-root
|
||||||
|
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
|
||||||
|
|
||||||
|
- name: Use library with add_subdirectory (Debug)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test
|
||||||
|
mkdir __build__ && cd __build__
|
||||||
|
cmake ..
|
||||||
|
cmake --build . --config Debug
|
||||||
|
ctest --output-on-failure --no-tests=error -C Debug
|
||||||
|
|
||||||
|
- name: Use library with add_subdirectory (Release)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test/__build__
|
||||||
|
cmake --build . --config Release
|
||||||
|
ctest --output-on-failure --no-tests=error -C Release
|
||||||
|
|
||||||
|
windows-cmake-install:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: windows-2019
|
||||||
|
- os: windows-2022
|
||||||
|
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Setup Boost
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||||
|
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||||
|
echo LIBRARY: %LIBRARY%
|
||||||
|
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||||
|
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||||
|
echo GITHUB_REF: %GITHUB_REF%
|
||||||
|
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||||
|
set BOOST_BRANCH=develop
|
||||||
|
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||||
|
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||||
|
cd ..
|
||||||
|
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
|
cd boost-root
|
||||||
|
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root
|
||||||
|
mkdir __build__ && cd __build__
|
||||||
|
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
|
||||||
|
|
||||||
|
- name: Install (Debug)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
cmake --build . --target install --config Debug
|
||||||
|
|
||||||
|
- name: Install (Release)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
cmake --build . --target install --config Release
|
||||||
|
|
||||||
|
- name: Use the installed library (Debug)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test && mkdir __build__ && cd __build__
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
|
||||||
|
cmake --build . --config Debug
|
||||||
|
ctest --output-on-failure --no-tests=error -C Debug
|
||||||
|
|
||||||
|
- name: Use the installed library (Release)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test/__build__
|
||||||
|
cmake --build . --config Release
|
||||||
|
ctest --output-on-failure --no-tests=error -C Release
|
||||||
|
|
||||||
|
windows-cmake-test:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: windows-2019
|
||||||
|
- os: windows-2022
|
||||||
|
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Setup Boost
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||||
|
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||||
|
echo LIBRARY: %LIBRARY%
|
||||||
|
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||||
|
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||||
|
echo GITHUB_REF: %GITHUB_REF%
|
||||||
|
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||||
|
set BOOST_BRANCH=develop
|
||||||
|
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||||
|
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||||
|
cd ..
|
||||||
|
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
|
cd boost-root
|
||||||
|
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root
|
||||||
|
mkdir __build__ && cd __build__
|
||||||
|
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DBUILD_TESTING=ON ..
|
||||||
|
|
||||||
|
- name: Build tests (Debug)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
cmake --build . --target tests --config Debug
|
||||||
|
|
||||||
|
- name: Run tests (Debug)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
ctest --output-on-failure --no-tests=error -C Debug
|
||||||
|
|
||||||
|
- name: Build tests (Release)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
cmake --build . --target tests --config Release
|
||||||
|
|
||||||
|
- name: Run tests (Release)
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd ../boost-root/__build__
|
||||||
|
ctest --output-on-failure --no-tests=error -C Release
|
||||||
|
|||||||
+16
-8
@@ -1,8 +1,10 @@
|
|||||||
# Copyright 2018 Mike Dev
|
# Generated by `boostdep --cmake array`
|
||||||
|
# Copyright 2020, 2021 Peter Dimov
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# 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
|
# https://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.5...3.20)
|
cmake_minimum_required(VERSION 3.5...3.20)
|
||||||
|
|
||||||
project(boost_array VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
|
project(boost_array VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
|
||||||
|
|
||||||
add_library(boost_array INTERFACE)
|
add_library(boost_array INTERFACE)
|
||||||
@@ -11,10 +13,16 @@ add_library(Boost::array ALIAS boost_array)
|
|||||||
target_include_directories(boost_array INTERFACE include)
|
target_include_directories(boost_array INTERFACE include)
|
||||||
|
|
||||||
target_link_libraries(boost_array
|
target_link_libraries(boost_array
|
||||||
INTERFACE
|
INTERFACE
|
||||||
Boost::assert
|
Boost::assert
|
||||||
Boost::config
|
Boost::config
|
||||||
Boost::core
|
Boost::core
|
||||||
Boost::static_assert
|
Boost::static_assert
|
||||||
Boost::throw_exception
|
Boost::throw_exception
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
|
||||||
|
|
||||||
|
add_subdirectory(test)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|||||||
+48
-48
@@ -33,18 +33,18 @@
|
|||||||
|
|
||||||
#include <boost/detail/workaround.hpp>
|
#include <boost/detail/workaround.hpp>
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
||||||
# pragma warning(push)
|
# pragma warning(push)
|
||||||
# pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe
|
# pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe
|
||||||
# pragma warning(disable:4510) // boost::array<T,N>' : default constructor could not be generated
|
# pragma warning(disable:4510) // boost::array<T,N>' : default constructor could not be generated
|
||||||
# pragma warning(disable:4610) // warning C4610: class 'boost::array<T,N>' can never be instantiated - user defined constructor required
|
# pragma warning(disable:4610) // warning C4610: class 'boost::array<T,N>' can never be instantiated - user defined constructor required
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
#include <boost/core/swap.hpp>
|
#include <boost/core/invoke_swap.hpp>
|
||||||
#include <boost/static_assert.hpp>
|
#include <boost/static_assert.hpp>
|
||||||
|
|
||||||
#include <boost/throw_exception.hpp>
|
#include <boost/throw_exception.hpp>
|
||||||
@@ -75,7 +75,7 @@ namespace boost {
|
|||||||
iterator begin() { return elems; }
|
iterator begin() { return elems; }
|
||||||
const_iterator begin() const { return elems; }
|
const_iterator begin() const { return elems; }
|
||||||
const_iterator cbegin() const { return elems; }
|
const_iterator cbegin() const { return elems; }
|
||||||
|
|
||||||
iterator end() { return elems+N; }
|
iterator end() { return elems+N; }
|
||||||
const_iterator end() const { return elems+N; }
|
const_iterator end() const { return elems+N; }
|
||||||
const_iterator cend() const { return elems+N; }
|
const_iterator cend() const { return elems+N; }
|
||||||
@@ -84,9 +84,9 @@ namespace boost {
|
|||||||
#if !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
|
#if !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
|
||||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
|
#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
|
||||||
typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
|
typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
|
||||||
value_type, reference, iterator, difference_type> reverse_iterator;
|
value_type, reference, iterator, difference_type> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
|
typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
|
||||||
value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
|
value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
|
||||||
#else
|
#else
|
||||||
@@ -112,39 +112,39 @@ namespace boost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// operator[]
|
// operator[]
|
||||||
reference operator[](size_type i)
|
reference operator[](size_type i)
|
||||||
{
|
{
|
||||||
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*BOOST_CONSTEXPR*/ const_reference operator[](size_type i) const
|
/*BOOST_CONSTEXPR*/ const_reference operator[](size_type i) const
|
||||||
{
|
{
|
||||||
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
// at() with range check
|
// at() with range check
|
||||||
reference at(size_type i) { return rangecheck(i), elems[i]; }
|
reference at(size_type i) { return rangecheck(i), elems[i]; }
|
||||||
/*BOOST_CONSTEXPR*/ const_reference at(size_type i) const { return rangecheck(i), elems[i]; }
|
/*BOOST_CONSTEXPR*/ const_reference at(size_type i) const { return rangecheck(i), elems[i]; }
|
||||||
|
|
||||||
// front() and back()
|
// front() and back()
|
||||||
reference front()
|
reference front()
|
||||||
{
|
|
||||||
return elems[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOST_CONSTEXPR const_reference front() const
|
|
||||||
{
|
{
|
||||||
return elems[0];
|
return elems[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
reference back()
|
BOOST_CONSTEXPR const_reference front() const
|
||||||
{
|
{
|
||||||
return elems[N-1];
|
return elems[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONSTEXPR const_reference back() const
|
reference back()
|
||||||
{
|
{
|
||||||
return elems[N-1];
|
return elems[N-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_CONSTEXPR const_reference back() const
|
||||||
|
{
|
||||||
|
return elems[N-1];
|
||||||
}
|
}
|
||||||
|
|
||||||
// size is constant
|
// size is constant
|
||||||
@@ -156,7 +156,7 @@ namespace boost {
|
|||||||
// swap (note: linear complexity)
|
// swap (note: linear complexity)
|
||||||
void swap (array<T,N>& y) {
|
void swap (array<T,N>& y) {
|
||||||
for (size_type i = 0; i < N; ++i)
|
for (size_type i = 0; i < N; ++i)
|
||||||
boost::swap(elems[i],y.elems[i]);
|
boost::core::invoke_swap(elems[i],y.elems[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// direct access to data (read-only)
|
// direct access to data (read-only)
|
||||||
@@ -213,9 +213,9 @@ namespace boost {
|
|||||||
#if !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
|
#if !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
|
||||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
|
#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
|
||||||
typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
|
typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
|
||||||
value_type, reference, iterator, difference_type> reverse_iterator;
|
value_type, reference, iterator, difference_type> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
|
typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
|
||||||
value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
|
value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
|
||||||
#else
|
#else
|
||||||
@@ -301,7 +301,7 @@ namespace boost {
|
|||||||
// assign one value to all elements
|
// assign one value to all elements
|
||||||
void assign (const T& value) { fill ( value ); }
|
void assign (const T& value) { fill ( value ); }
|
||||||
void fill (const T& ) {}
|
void fill (const T& ) {}
|
||||||
|
|
||||||
// check range (may be private because it is static)
|
// check range (may be private because it is static)
|
||||||
static reference failed_rangecheck () {
|
static reference failed_rangecheck () {
|
||||||
std::out_of_range e("attempt to access element of an empty array");
|
std::out_of_range e("attempt to access element of an empty array");
|
||||||
@@ -353,16 +353,16 @@ namespace boost {
|
|||||||
#if defined(__SUNPRO_CC)
|
#if defined(__SUNPRO_CC)
|
||||||
// Trac ticket #4757; the Sun Solaris compiler can't handle
|
// Trac ticket #4757; the Sun Solaris compiler can't handle
|
||||||
// syntax like 'T(&get_c_array(boost::array<T,N>& arg))[N]'
|
// syntax like 'T(&get_c_array(boost::array<T,N>& arg))[N]'
|
||||||
//
|
//
|
||||||
// We can't just use this for all compilers, because the
|
// We can't just use this for all compilers, because the
|
||||||
// borland compilers can't handle this form.
|
// borland compilers can't handle this form.
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template <typename T, std::size_t N> struct c_array
|
template <typename T, std::size_t N> struct c_array
|
||||||
{
|
{
|
||||||
typedef T type[N];
|
typedef T type[N];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Specific for boost::array: simply returns its elems data member.
|
// Specific for boost::array: simply returns its elems data member.
|
||||||
template <typename T, std::size_t N>
|
template <typename T, std::size_t N>
|
||||||
typename detail::c_array<T,N>::type& get_c_array(boost::array<T,N>& arg)
|
typename detail::c_array<T,N>::type& get_c_array(boost::array<T,N>& arg)
|
||||||
@@ -383,7 +383,7 @@ namespace boost {
|
|||||||
{
|
{
|
||||||
return arg.elems;
|
return arg.elems;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Const version.
|
// Const version.
|
||||||
template <typename T, std::size_t N>
|
template <typename T, std::size_t N>
|
||||||
const T(&get_c_array(const boost::array<T,N>& arg))[N]
|
const T(&get_c_array(const boost::array<T,N>& arg))[N]
|
||||||
@@ -391,7 +391,7 @@ namespace boost {
|
|||||||
return arg.elems;
|
return arg.elems;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// Overload for std::array, assuming that std::array will have
|
// Overload for std::array, assuming that std::array will have
|
||||||
// explicit conversion functions as discussed at the WG21 meeting
|
// explicit conversion functions as discussed at the WG21 meeting
|
||||||
@@ -401,7 +401,7 @@ namespace boost {
|
|||||||
{
|
{
|
||||||
return static_cast<T(&)[N]>(arg);
|
return static_cast<T(&)[N]>(arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Const version.
|
// Const version.
|
||||||
template <typename T, std::size_t N>
|
template <typename T, std::size_t N>
|
||||||
const T(&get_c_array(const std::array<T,N>& arg))[N]
|
const T(&get_c_array(const std::array<T,N>& arg))[N]
|
||||||
@@ -423,7 +423,7 @@ namespace boost {
|
|||||||
BOOST_STATIC_ASSERT_MSG ( Idx < N, "boost::get<>(boost::array &) index out of range" );
|
BOOST_STATIC_ASSERT_MSG ( Idx < N, "boost::get<>(boost::array &) index out of range" );
|
||||||
return arr[Idx];
|
return arr[Idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <size_t Idx, typename T, size_t N>
|
template <size_t Idx, typename T, size_t N>
|
||||||
const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
|
const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
|
||||||
BOOST_STATIC_ASSERT_MSG ( Idx < N, "boost::get<>(const boost::array &) index out of range" );
|
BOOST_STATIC_ASSERT_MSG ( Idx < N, "boost::get<>(const boost::array &) index out of range" );
|
||||||
@@ -440,7 +440,7 @@ namespace std {
|
|||||||
BOOST_STATIC_ASSERT_MSG ( Idx < N, "std::get<>(boost::array &) index out of range" );
|
BOOST_STATIC_ASSERT_MSG ( Idx < N, "std::get<>(boost::array &) index out of range" );
|
||||||
return arr[Idx];
|
return arr[Idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <size_t Idx, typename T, size_t N>
|
template <size_t Idx, typename T, size_t N>
|
||||||
const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
|
const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
|
||||||
BOOST_STATIC_ASSERT_MSG ( Idx < N, "std::get<>(const boost::array &) index out of range" );
|
BOOST_STATIC_ASSERT_MSG ( Idx < N, "std::get<>(const boost::array &) index out of range" );
|
||||||
@@ -449,8 +449,8 @@ namespace std {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
||||||
# pragma warning(pop)
|
# pragma warning(pop)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /*BOOST_ARRAY_HPP*/
|
#endif /*BOOST_ARRAY_HPP*/
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# Copyright 2018, 2019, 2021, 2022 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.v2
|
||||||
|
LINK_LIBRARIES Boost::array Boost::container_hash Boost::core)
|
||||||
|
|
||||||
|
endif()
|
||||||
+16
-14
@@ -2,17 +2,19 @@
|
|||||||
#~ Distributed under the Boost Software License, Version 1.0.
|
#~ 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)
|
#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
test-suite array :
|
import testing ;
|
||||||
[ run array0.cpp ]
|
|
||||||
[ run array1.cpp ]
|
run array0.cpp ;
|
||||||
[ run array2.cpp ]
|
run array1.cpp ;
|
||||||
[ run array3.cpp ]
|
run array2.cpp ;
|
||||||
[ run array4.cpp ]
|
run array3.cpp ;
|
||||||
[ run array5.cpp ]
|
run array4.cpp ;
|
||||||
[ run array6.cpp ]
|
run array5.cpp ;
|
||||||
[ run array7.cpp ]
|
run array6.cpp ;
|
||||||
# [ run array_constexpr.cpp ]
|
run array7.cpp ;
|
||||||
[ compile-fail array_getfail1.cpp ]
|
# run array_constexpr.cpp ;
|
||||||
[ compile-fail array_getfail2.cpp ]
|
compile-fail array_getfail1.cpp ;
|
||||||
[ run array_hash.cpp ]
|
compile-fail array_getfail2.cpp ;
|
||||||
;
|
run array_hash.cpp ;
|
||||||
|
|
||||||
|
run quick.cpp ;
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Copyright 2018, 2019, 2021 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.20)
|
||||||
|
|
||||||
|
project(cmake_install_test LANGUAGES CXX)
|
||||||
|
|
||||||
|
find_package(boost_array REQUIRED)
|
||||||
|
|
||||||
|
add_executable(quick ../quick.cpp)
|
||||||
|
target_link_libraries(quick Boost::array)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
add_test(quick quick)
|
||||||
|
|
||||||
|
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2018, 2019, 2021 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.20)
|
||||||
|
|
||||||
|
project(cmake_subdir_test LANGUAGES CXX)
|
||||||
|
|
||||||
|
add_subdirectory(../.. boostorg/array)
|
||||||
|
|
||||||
|
add_subdirectory(../../../assert boostorg/assert)
|
||||||
|
add_subdirectory(../../../config boostorg/config)
|
||||||
|
add_subdirectory(../../../core boostorg/core)
|
||||||
|
add_subdirectory(../../../static_assert boostorg/static_assert)
|
||||||
|
add_subdirectory(../../../throw_exception boostorg/throw_exception)
|
||||||
|
|
||||||
|
add_executable(quick ../quick.cpp)
|
||||||
|
target_link_libraries(quick Boost::array)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
add_test(quick quick)
|
||||||
|
|
||||||
|
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// Copyright 2023 Peter Dimov.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// https://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#include <boost/array.hpp>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
boost::array<int, 2> a = {{ 0, 1 }};
|
||||||
|
return a[0];
|
||||||
|
}
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# 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.Array.
|
|
||||||
# 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( ../../../assert ${CMAKE_CURRENT_BINARY_DIR}/libs/assert )
|
|
||||||
add_subdirectory( ../../../config ${CMAKE_CURRENT_BINARY_DIR}/libs/config )
|
|
||||||
add_subdirectory( ../../../core ${CMAKE_CURRENT_BINARY_DIR}/libs/core )
|
|
||||||
add_subdirectory( ../../../static_assert ${CMAKE_CURRENT_BINARY_DIR}/libs/static_assert )
|
|
||||||
add_subdirectory( ../../../throw_exception ${CMAKE_CURRENT_BINARY_DIR}/libs/thorw_exception )
|
|
||||||
|
|
||||||
add_subdirectory( ../.. ${CMAKE_CURRENT_BINARY_DIR}/libs/boost_array )
|
|
||||||
|
|
||||||
add_executable( boost_array_cmake_self_test main.cpp )
|
|
||||||
target_link_libraries( boost_array_cmake_self_test Boost::array )
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#include <boost/array.hpp>
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
boost::array<int,5> a{};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user