Skip to content

Commit

Permalink
(#2097) Add component support to boost using boostdep
Browse files Browse the repository at this point in the history
* boost: build dependency tree

* boost: add components using information of boostdep tool

* boost: only list buildable components in dependencies + add components only when they are available

* boost: fix -U option on fresh start + no buildables in yml

* boost: git submodule deinit + init to make sure new/older boost libraries are not detected by boostdep

* boost: remove dep of graph on graph_parallel and remove dep of python on graph

* boost: parse boost jam files to detect boost libraries

* boost: fix dependency support + test_package of python

* boost: add numpy test

* boost: fix builds with python disabled + fix boost<1.69

* boost: use python_version as python version
Tip by @klimkin

* boost: first test option, 2nd test dependencies, 3rd test libraries

* boost: bump cmake minimum required version to 3.5 to required Boost::<C> component targets

* boost: add numpy option + python version in options + test boost components

* boost: use Boost::boost + don't add numpy as option

* boost: add extra find_package when boost is built header_only

* boost: remove outdated comment in package_info

* boost: store dpeendencies in self.recipe_folder (=export folder)

* boost: load configuration options from dependencies + add 1.74.0 yml

* boost: lowercase test_package + remove android workaround because we're testing conan's generated FindBoost

* boost: run find_package for each component separately

* boost: add more components + correct headers target

* boost: remove boost/1.66-boost/1.68

* boost: trust on conan's compiler.libcxx

* boost: use headers and _libboost component

* boost: find Python in test_package

* boost: attach dependencies to components

* boost: extract requirements from boost build tree

* boost: remove debug prints

* boost: add Boost::boost alias of Boost::headers

* boost: fix MSVC build (with default options)

* boost: components now support "-o layout=versioned"

* boost: fix `-o layout=versioned` on LInux

* boost: add missing configure option + use logging

* boost: update boost ymls

* boost: options from local tuple + requirements from yml + bump icu

* boost: add config option check

* boost: wrap iostreams compression requirements

* boost: raise a ConanException if no requirements-x.y.z.yml file is found

* boost: set python version in options + don't add python to requirements (yet) + fix test_package's CMakeLists.txt

* boost: rename _with_xxx to _with_dependency

* boost: only test conan's cmake_find_package

* boost: use options.python_executable as path for python executable

* boost: Add context option + sort values in dependencies yml (for reproducibility)

* boost: use dict.update instead of class for loop

* boost: only add defines to components when option enabled

* booost: re-order components in package_info (headers first)

* boost: remove duplicate settings of component names + move setting of BOOST_ROOT env to top of packag_info

* boost: only make components related to libraries available when building boost as non-header_only package

* boost: fix boost:without_python=False
  • Loading branch information
madebr authored Dec 12, 2020
1 parent 040c6fb commit d956a46
Show file tree
Hide file tree
Showing 12 changed files with 2,578 additions and 226 deletions.
555 changes: 397 additions & 158 deletions recipes/boost/all/conanfile.py

Large diffs are not rendered by default.

271 changes: 271 additions & 0 deletions recipes/boost/all/dependencies/dependencies-1.69.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
configure_options:
- atomic
- chrono
- container
- context
- contract
- coroutine
- date_time
- exception
- fiber
- filesystem
- graph
- graph_parallel
- iostreams
- locale
- log
- math
- mpi
- program_options
- python
- random
- regex
- serialization
- stacktrace
- system
- test
- thread
- timer
- type_erasure
- wave
dependencies:
atomic: []
chrono:
- system
container: []
context:
- thread
contract:
- exception
- thread
coroutine:
- context
- exception
- system
- thread
date_time:
- serialization
exception: []
fiber:
- context
- filesystem
fiber_numa:
- fiber
filesystem:
- system
graph:
- math
- random
- regex
- serialization
- test
graph_parallel:
- filesystem
- graph
- mpi
- random
- serialization
iostreams:
- random
- regex
locale:
- thread
log:
- atomic
- container
- date_time
- exception
- filesystem
- locale
- random
- regex
- system
- thread
log_setup:
- log
math:
- atomic
math_c99:
- math
math_c99f:
- math
math_c99l:
- math
math_tr1:
- math
math_tr1f:
- math
math_tr1l:
- math
mpi:
- graph
- serialization
mpi_python:
- mpi
- python
numpy:
- python
prg_exec_monitor:
- test
program_options: []
python: []
random:
- math
- system
regex: []
serialization: []
stacktrace: []
stacktrace_addr2line:
- stacktrace
stacktrace_backtrace:
- stacktrace
stacktrace_basic:
- stacktrace
stacktrace_noop:
- stacktrace
stacktrace_windbg:
- stacktrace
stacktrace_windbg_cached:
- stacktrace
system: []
test:
- exception
- timer
test_exec_monitor:
- test
thread:
- atomic
- chrono
- container
- date_time
- exception
- system
timer:
- chrono
- system
type_erasure:
- thread
unit_test_framework:
- prg_exec_monitor
- test
- test_exec_monitor
wave:
- filesystem
- serialization
wserialization:
- serialization
libs:
atomic:
- boost_atomic
chrono:
- boost_chrono
container:
- boost_container
context:
- boost_context
contract:
- boost_contract
coroutine:
- boost_coroutine
date_time:
- boost_date_time
exception:
- boost_exception
fiber:
- boost_fiber
fiber_numa:
- boost_fiber_numa
filesystem:
- boost_filesystem
graph:
- boost_graph
graph_parallel:
- boost_graph_parallel
iostreams:
- boost_iostreams
locale:
- boost_locale
log:
- boost_log
log_setup:
- boost_log_setup
math: []
math_c99:
- boost_math_c99
math_c99f:
- boost_math_c99f
math_c99l:
- boost_math_c99l
math_tr1:
- boost_math_tr1
math_tr1f:
- boost_math_tr1f
math_tr1l:
- boost_math_tr1l
mpi:
- boost_mpi
mpi_python:
- boost_mpi_python
numpy:
- boost_numpy{py_major}{py_minor}
prg_exec_monitor:
- boost_prg_exec_monitor
program_options:
- boost_program_options
python:
- boost_python{py_major}{py_minor}
random:
- boost_random
regex:
- boost_regex
serialization:
- boost_serialization
stacktrace: []
stacktrace_addr2line:
- boost_stacktrace_addr2line
stacktrace_backtrace:
- boost_stacktrace_backtrace
stacktrace_basic:
- boost_stacktrace_basic
stacktrace_noop:
- boost_stacktrace_noop
stacktrace_windbg:
- boost_stacktrace_windbg
stacktrace_windbg_cached:
- boost_stacktrace_windbg_cached
system:
- boost_system
test: []
test_exec_monitor:
- boost_test_exec_monitor
thread:
- boost_thread
timer:
- boost_timer
type_erasure:
- boost_type_erasure
unit_test_framework:
- boost_unit_test_framework
wave:
- boost_wave
wserialization:
- boost_wserialization
requirements:
iostreams:
- bzip2
- lzma
- zlib
- zstd
locale:
- iconv
- icu
python:
- python
regex:
- icu
stacktrace:
- backtrace
static_only:
- boost_exception
- boost_test_exec_monitor
version: 1.69.0
Loading

0 comments on commit d956a46

Please sign in to comment.