Open xnox opened 4 years ago
Yes, it looks like Boost.MPI installs a Python extension called mpi
: https://github.com/boostorg/mpi/blob/c7fdb33cca09d7248826a340ff40be5eec1e36af/build/Jamfile.v2#L173
I agree that installing a CMake configuration for a package called mpi
is not something we should do. Not sure where and how to fix that properly.
I also wee a few other "weird" cmake files:
The first three are conditionally-built libraries. For complicated Boost.Build reasons the decision to create the CMake config files is made at configure time, and the conditions that govern whether the libraries are built are evaluated later, at build time. Maybe this can be fixed, but it exceeds my Boost.Build abilities at present. :-)
boost_math
is my fault (https://github.com/boostorg/math/commit/8d2c59c8614f8ad5861f342d4ee3d41a6c456d7b) and we should probably remove it as it should be no longer required.
boost_headers
is important and you do need it. It declares the Boost::headers
target that represents all header-only libraries and is the equivalent of the Boost::boost
target from FindBoost.
Ok, I shall install boost_headers into the main libboost-dev package next to the rest of headers.
I will ignore / purge the conditional libs.
Now, how do I use these CMake files in cmake projects? I.e. I want to convert some of cmake project which currently uses boost-python to use these new fancy cmake files. How can I do that?
Are there docs on how to use these cmake things?
Sure, i don't care about configuring and building them, but they shouldn't be installed (which happens after building) thus should be like present in the builddir, but not installed into the prefix?
Now, how do I use these CMake files in cmake projects?
find_package(Boost)
will automatically use them if they are installed somewhere in the CMake search path.
Looking at the Qt5 package, looks like it installs the .cmake configs in /usr/lib/x86_64-linux-gnu/cmake
, which is probably where the Boost ones should go, too.
I'm not quite sure what is going on, and I'm not sure if this is a bug in mpi module or the cmake generation. Currently 1.71 build emits:
And I can understand
boost_mpi-1.71.0/
and theboost_mpi_python-1.71.0
but i am very confused about thempi-1.71.0/
as to what it is, and which library I should package it with: boost_mpi or boost_mpi_python or if it shouldn't exist at all!Is it like cmake files generated for the compiled python mpi extension? ie. the one that is installed on Debian systems as:
Frankly, I don't understand cmake files for boost here =)