-
Notifications
You must be signed in to change notification settings - Fork 128
Make BUILD_SHARED_LIBS do its job #145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make BUILD_SHARED_LIBS do its job #145
Conversation
…SHARED_LIBS instead
|
this should be carefully reviewed, as it may break code downstream, for example for the companies using it. |
|
It's also failing on Windows: I'm not very familiar with Windows / dll's, but it seems tricky. |
|
Thank you Harmen @haampie for looking into this issue. Unfortunately we don't really have the resources (both man power and computer resources) to support both shared and static, for all platforms. As I discussed with Marius @mstaring earlier today. So unless there is a use case that appears very important to us, we won't actively support building shared elastix libs. Technical considerations:
Hope it's OK to you! |
|
There are many intricacies involved for supporting different types of libs, upstream and downstream. I'm going to close this PR as there are currently no good test cases, and no resources to investigate this carefully. |
Attempts to build shared Elastix libraries have led to various problems, including a core dump recently reported by Luisa Sanchez Brea. Pull request #145 "Make BUILD_SHARED_LIBS do its job" by Harmen Stoppels (@haampie) was abandoned because of lack of resources at our side. This commit prevents users from accidentally switching on `BUILD_SHARED_LIBS` for Elastix.
Attempts to build shared Elastix libraries have led to various problems, including a core dump recently reported by Luisa Sanchez Brea. Pull request #145 "Make BUILD_SHARED_LIBS do its job" by Harmen Stoppels (@haampie) was abandoned because of lack of resources at our side. This commit prevents users from accidentally switching on the CMake option `BUILD_SHARED_LIBS` for Elastix. Moreover, it drops support for the macro `_ELASTIX_USE_SHARED_LIBRARY`. The manual (TeX file) is adjusted accordingly.
Attempts to build shared Elastix libraries have led to various problems, including a core dump recently reported by Luisa Sanchez Brea. Pull request #145 "Make BUILD_SHARED_LIBS do its job" by Harmen Stoppels (@haampie) was abandoned because of lack of resources at our side. This commit prevents users from accidentally switching on the CMake option `BUILD_SHARED_LIBS` for Elastix. Moreover, it drops support for the macro `_ELASTIX_USE_SHARED_LIBRARY`. The manual (TeX file) is adjusted accordingly.
Aims to fix the following CMake Warning from https://open.cdash.org/build/6758579/configure Build: InsightSoftwareConsortium/ITKElastix-macos-10.15--refs/pull/60/merge > CMake Warning (dev) at /Users/runner/work/ITKElastix/build/_deps/elx-src/CMakeLists.txt:37 (option): > Policy CMP0077 is not set: option() honors normal variables. Run "cmake > --help-policy CMP0077" for policy details. Use the cmake_policy command to > set the policy and suppress this warning. > > For compatibility with older versions of CMake, option is clearing the > normal variable 'BUILD_SHARED_LIBS'. Follow-up to commit bb902f7, "COMP: Explicitly disable BUILD_SHARED_LIBS", September 11, 2019. Related to: - pull request #184 "COMP: Explicitly disable BUILD_SHARED_LIBS" - pull request #145 "Make BUILD_SHARED_LIBS do its job" - issue #202 "Elastix 5.0 does not support shared libaray?"
Aims to fix the following CMake Warning from https://open.cdash.org/build/6758579/configure Build: InsightSoftwareConsortium/ITKElastix-macos-10.15--refs/pull/60/merge > CMake Warning (dev) at /Users/runner/work/ITKElastix/build/_deps/elx-src/CMakeLists.txt:37 (option): > Policy CMP0077 is not set: option() honors normal variables. Run "cmake > --help-policy CMP0077" for policy details. Use the cmake_policy command to > set the policy and suppress this warning. > > For compatibility with older versions of CMake, option is clearing the > normal variable 'BUILD_SHARED_LIBS'. Follow-up to commit bb902f7, "COMP: Explicitly disable BUILD_SHARED_LIBS", September 11, 2019. Related to: - pull request #184 "COMP: Explicitly disable BUILD_SHARED_LIBS" - pull request #145 "Make BUILD_SHARED_LIBS do its job" - issue #202 "Elastix 5.0 does not support shared libaray?"
Not 100% confident if this is correct, but it's an attempt to fix #81.