boostorg / boostorg/boost_install

cmake configs don't allow static vs shared library paths

Open
#49 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
11
Forks
37
PR merge metrics
No merged PRs in 30d

Description

The cmake configs don't allow static vs shared library paths...

For example, from tools/boost_install/boost-install.jam

```
/boot/system/lib/cmake/boost_wave-1.70.0/boost_wave-config.cmake:get_filename_component(_BOOST_LIBDIR "${_BOOST_CMAKEDIR}/../" ABSOLUTE)
```

That sets _BOOST_LIBDIR to the cmake dir ../ (aka /usr/lib/cmake/../ for libraries)

Then all libraries are put into it...
```
/boot/system/lib/cmake/boost_unit_test_framework-1.70.0/libboost_unit_test_framework-variant-static.cmake: IMPORTED_LOCATION_RELEASE "${_BOOST_LIBDIR}/libboost_unit_test_framework.a"
/boot/system/lib/cmake/boost_unit_test_framework-1.70.0/libboost_unit_test_framework-variant-shared.cmake: IMPORTED_LOCATION_RELEASE "${_BOOST_LIBDIR}/libboost_unit_test_framework.so.1.70.0"
```

This is not the case on all operating systems. It's a common design to have the static libraries in a different prefix path.
Example:
* /boot/system/lib/libboost_unit_test_framework.so
* /boot/system/develop/lib/libboost_unit_test_framework.a

It looks like a _BOOST_STATIC_LIBDIR or something is needed?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.