Add find_component.yml

This commit is contained in:
Peter Dimov
2026-06-29 12:56:51 +03:00
parent f2f3c31751
commit 15c2a54842
3 changed files with 266 additions and 0 deletions
+236
View File
@@ -0,0 +1,236 @@
name: Find Component CI
on:
pull_request:
push:
branches:
- master
- develop
- feature/**
tags: ['**']
workflow_dispatch:
jobs:
a-m:
strategy:
fail-fast: false
matrix:
library:
- accumulators
- algorithm
- align
- any
- array
- asio
- assert
- assign
- atomic
- beast
- bimap
- bind
- bloom
- callable_traits
- charconv
- chrono
- circular_buffer
- cobalt
- compat
- compute
- concept_check
- config
- container
- container_hash
- context
- contract
- conversion
- convert
- core
- coroutine
- coroutine2
- crc
- date_time
- decimal
- describe
- detail
- dll
- dynamic_bitset
- endian
- exception
- fiber
- filesystem
- flyweight
- foreach
- format
- function
- functional
- function_types
- fusion
- geometry
- gil
- graph
- graph_parallel
- hana
- hash2
- headers
- heap
- histogram
- hof
- icl
- integer
- interprocess
- intrusive
- io
- iostreams
- iterator
- json
- lambda
- lambda2
- leaf
- lexical_cast
- locale
- local_function
- lockfree
- log
- logic
- math
- metaparse
- move
- mp11
- mpi
- mpl
- mqtt5
- msm
- multiprecision
- multi_array
- multi_index
- mysql
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Boost
run: |
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
git submodule update --init --jobs 3
rm -rf tools/boost_install/*
cp -r $GITHUB_WORKSPACE/* tools/boost_install
- name: Configure ${{matrix.library}}
working-directory: ../boost-root
run: cmake -DCOMPONENT=${{matrix.library}} -B __build__
- name: Run test
working-directory: ../boost-root
run: cmake --build __build__ --target check
n-z:
strategy:
fail-fast: false
matrix:
library:
- nowide
- numeric/conversion
- numeric/interval
- numeric/odeint
- numeric/ublas
- openmethod
- optional
- outcome
- parameter
- parameter_python
- parser
- pfr
- phoenix
- polygon
- poly_collection
- pool
- predef
- preprocessor
- process
- program_options
- property_map
- property_map_parallel
- property_tree
- proto
- ptr_container
- python
- qvm
- random
- range
- ratio
- rational
- redis
- regex
- safe_numerics
- scope
- scope_exit
- serialization
- signals2
- smart_ptr
- sort
- spirit
- stacktrace
- statechart
- static_assert
- static_string
- stl_interfaces
- system
- test
- thread
- throw_exception
- timer
- tokenizer
- tti
- tuple
- typeof
- type_erasure
- type_index
- type_traits
- units
- unordered
- url
- utility
- uuid
- variant
- variant2
- vmd
- wave
- winapi
- xpressive
- yap
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Boost
run: |
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
git submodule update --init --jobs 3
rm -rf tools/boost_install/*
cp -r $GITHUB_WORKSPACE/* tools/boost_install
- name: Configure ${{matrix.library}}
working-directory: ../boost-root
run: cmake -DCOMPONENT=${{matrix.library}} -B __build__
- name: Run test
working-directory: ../boost-root
run: cmake --build __build__ --target check
+23
View File
@@ -0,0 +1,23 @@
# 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://boost.org/LICENSE_1_0.txt)
cmake_minimum_required(VERSION 3.5...3.31)
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
project(CmakeConfigComponentTest LANGUAGES CXX)
include(${CMAKE_CURRENT_LIST_DIR}/../BoostVersion.cmake)
find_package(Boost ${BOOST_VERSION} EXACT REQUIRED COMPONENTS ${COMPONENT})
add_executable(main main.cpp)
target_link_libraries(main Boost::${COMPONENT})
enable_testing()
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure --no-tests=error -C $<CONFIG>)
add_test(main main)
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2026 Peter Dimov
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt
int main()
{
}