Instalar modules específicos de Boost desde GitHub

Estoy trabajando en un script que clona el repository oficial de Boost e inicie solo los modules que necesito.

Leí la página del manual del submodule de git y encontré una forma de actualizar solo algunos modules. Ni siquiera necesito comstackr porque solo estoy usando multi_index .

git clone -b boost-1.60.0 https://github.com/boostorg/boost.git boost cd boost git submodule update --init libs/multi_index/ tools/build 

Pero me gustaría mejorar el command de git submodule update mi git submodule update usando los nombres de los modules (por ejemplo, multi_index en .gitsubmodules ) en lugar de la ruta (por ejemplo, libs\multi_index )

¿Cómo puedo lograr eso?

Además, cuando quiero usar esa configuration, boost/version.hpp falta.
./b2 --with-multi_index boostrap.sh y ./b2 --with-multi_index pero respondió con un error: wrong library name 'multi_index' in the --with-<library> option.

¿Cómo puedo generar boost/version.hpp que find_package(Boost REQUIRED) CMake find_package(Boost REQUIRED) ?

CMake Error en /usr/share/cmake-3.0/Modules/FindBoost.cmake:699 (file): file file STRINGS "/home/leflou/PROJECTS/tradingsuite/FinancialMarket/Server/boost/libs/boost/version.hpp" no se puede leer Call Stack (la llamada más reciente primero): FinancialMarket / Server / CMakeLists.txt: 5 (find_package)

En primer lugar, siempre que se actualice una biblioteca, debe tener ./b2 headers en el repository principal, de modo que todos los enlaces simbólicos a los encabezados de la biblioteca se actualicen en el subdirectory boost/ .

Parece que olvida que Multi Index se basa en una gran cantidad de otras bibliotecas de impulso, que deben sincronizarse en las actualizaciones.

Por ejemplo, BMI usa MPL, tupla y muchos otros:

  60 boost/mpl 56 boost/config.hpp 39 boost/type_traits 32 boost/detail 29 boost/preprocessor 17 boost/serialization 11 boost/noncopyable.hpp 10 boost/move 7 boost/utility 7 boost/tuple 6 boost/static_assert.hpp 5 boost/throw_exception.hpp 5 boost/call_traits.hpp 4 boost/operators.hpp 4 boost/foreach_fwd.hpp 4 boost/bind.hpp 4 boost/archive (optional) 3 boost/iterator 2 boost/ref.hpp 2 boost/limits.hpp 2 boost/functional (for `hash`) 2 boost/assert.hpp 1 boost/integer 

Deberías mirar a BCP para hacer la extracción correcta