Cannot Set Boost Include Path for CMakeFiles When Building on Linux

63 Views Asked by At

I'm able to build Boost on Linux but am having a hard time getting the include path to be properly set up. When I'm done compiling, I get the following message:

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /<networkpath>/BOOST/boost_1_80_0        ** Note the lack of an /include here!
    
The following directory should be added to linker library paths:

    /<networkpath>/BOOST/boost_1_80_0/lib    ** Correct

The problem is that every CMakeFile produced now has the following:

get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../.." ABSOLUTE)   ** Again, no /include.
get_filename_component(_BOOST_LIBDIR "${_BOOST_CMAKEDIR}/../" ABSOLUTE)         ** Correct

My command line for building Boost is as follows:

b2 --build-dir=builds --stagedir=../boost_1_80_0 toolset=gcc --without-python

I needed to add the custom "stagedir" location to get _BOOST_LIBDIR to be correct in the CMakeFiles.

I've rebuilt this many times trying various command line options and folder structures but haven't been able to get the /include path to be set correctly. Any ideas are appreciated.

Additional info:

b2 intall command line:

 ./b2 install --prefix=<networkPath>/<accountName>/BOOST/boost_1_80_0/tools/build/BoostBuild

I'm not installing the libraries, just building them and moving them to a different location. The part that confuses me is that when the libraries are built, every library has auto-generated CMakeFiles with the paths to the lib and include directories. Since this happens before install, I haven't found where these are set as part of the build.

0

There are 0 best solutions below