You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the CMake build script is pretty bare-bones and does not allow for easy, clean distribution of the library code. This is due to being statically linked as well as pulling in 3rd-party libraries directly using target_link_libraries(... PUBLIC ...) which causes CMake's install process to malfunction by including 3rd-party library code in the installation.
This is unacceptable for installing phoenix into systems directly since the extra files might pollute existing installations of those libraries or could cause the package manager to break.
Things to do
Fix the install step of CMake build
(potentially) Depend on shared 3rd-party libraries instead of the statically linked ones wherever possible
Since you are building your own versions of the dependency libraries you probably should distribute them with phoenix builds for now.
The alternate approach would be to instead use find_package so the user can decide where to pull the dependencies from. This way preinstalled libraries may be used where applicable or libraries may be pulled from package managers such as conanand the user may decide whether to provide static or dynamic libraries.
This way the libraries would no longer be built during the build of phoenix and would therefore no longer get included with the install step.
Additionally I'd suggest turning the last task from this issue into a separate issue as dynamic linkage is not so much a CMake issue, but rather a question of adjusting the headers to set the correct export/import attributes on exported symbols for the different compilers.
Currently, the CMake build script is pretty bare-bones and does not allow for easy, clean distribution of the library code. This is due to being statically linked as well as pulling in 3rd-party libraries directly using
target_link_libraries(... PUBLIC ...)
which causes CMake's install process to malfunction by including 3rd-party library code in the installation.This is unacceptable for installing phoenix into systems directly since the extra files might pollute existing installations of those libraries or could cause the package manager to break.
Things to do
The text was updated successfully, but these errors were encountered: