PointCloudLibrary / PointCloudLibrary/pcl
Improve toggling between static/dynamic linking of dependency libraries
Open
@taketwo is already working on this.
Since Nov 15, 2017.
kind: todo
module: cmake
skill: cmake
- Dominant language
- C++
- Stars
- 11.1k
- Forks
- 4.7k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 6
Description
Follow-up to discussions in #2084.
Plan:
- Remove options
PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32PCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32
- Introduce options
BOOST_USE_STATICFLANN_USE_STATICQHULL_USE_STATIC
Open questions:
- Do these options express strict requirement or just a preference? For example, if the user set
FLANN_USE_STATIC=TRUE, but only dynamic libraries are available, is this a configuration error? Or do we issue a warning and coerce the option toFALSE? - How do these options interact with
PCL_SHARED_LIBS? If shared libs are disabled, i.e. the user wants to compile PCL as a static library, should it force all the dependencies to be static as well? - Default values? Depending on the platform?
The second question may involve some complicated logic. Stepping a bit back, I wonder if such level of configurability is actually needed? Maybe PCL_SHARED_LIBS is sufficient? If it is set, then we default to finding shared dependencies and fall back to static. If it is not set, then we default to static and fall back to shared (or even error)?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.