eclipse-iceoryx / eclipse-iceoryx/iceoryx
Use a Findacl.cmake to setup the dependency to libacl
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
The build process of iceoryx could be improved by using `find_package` to setup the dependency to libacl, allowing to detect if it is installed. Since libacl doesn't provide CMake config scripts, iceoryx could provide a `Findacl.cmake` instead (and add its directory to its list of CMAKE_MODULE_PATH).
## Detailed information
Currently, the build script of iceoryx expects that libacl is installed on the system through the package manager.
While this should be the prefered way to install acl, it's not always possible to do this, notably if the user don't have administrative rights to the system or when cross-compiling iceoryx for a sysroot that should be kept cleared. In that case, the libacl is installed in another directory. When using `find_package` to setup the dependency, the directory in which libacl is installed can be search with the CMAKE_STAGING_PREFIX or CMAKE_INSTALL_PREFIX. Currently, the directory should be listed though compiler flags.
Contributor guide
Research direction
Start by inspecting iceoryx's current CMake build configuration for how the libacl dependency and CMAKE_MODULE_PATH are handled. Add a Findacl.cmake module and wire it into the module path so find_package can locate libacl in the staging or install prefix rather than requiring compiler flags; done means the dependency is detected from those locations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 57/100