mirror of
https://github.com/curl/curl.git
synced 2026-04-14 22:31:41 +03:00
cmake: adjust defaults for target platforms not supporting shared libs
If CMake reports the target platform not supporting shared libs, turn `BUILD_SHARED_LIBS` off by default. CMake 3.30+ fails with an error when trying to create a `SHARED` target for such platforms. Earlier versions used a workaround that may or may not have worked in practice. Ref: https://cmake.org/cmake/help/v3.30/policy/CMP0164.html Seen this with a build setting `-DCMAKE_SYSTEM_NAME=Generic`, e.g. AmigaOS. Note this may introduce incompatibility for "Generic" targets, which support shared libs. If that's the case, set `BUILD_SHARED_LIBS=ON` manually. Also drop AmigaOS-specific logic handled automatically after this patch. Ref: https://cmake.org/cmake/help/v3.7/command/get_property.html Ref: https://cmake.org/cmake/help/v3.7/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.html Closes #19420
This commit is contained in:
parent
f760a5cef7
commit
49ef2f8d1e
2 changed files with 4 additions and 3 deletions
|
|
@ -221,7 +221,7 @@ target_link_libraries(my_target PRIVATE CURL::libcurl)
|
|||
- `BUILD_EXAMPLES`: Build libcurl examples. Default: `ON`
|
||||
- `BUILD_LIBCURL_DOCS`: Build libcurl man pages. Default: `ON`
|
||||
- `BUILD_MISC_DOCS`: Build misc man pages (e.g. `curl-config` and `mk-ca-bundle`). Default: `ON`
|
||||
- `BUILD_SHARED_LIBS`: Build shared libraries. Default: `ON`
|
||||
- `BUILD_SHARED_LIBS`: Build shared libraries. Default: `ON` (if target platform supports shared libs, otherwise `OFF`)
|
||||
- `BUILD_STATIC_CURL`: Build curl executable with static libcurl. Default: `OFF` (turns to `ON`, when building static libcurl only)
|
||||
- `BUILD_STATIC_LIBS`: Build static libraries. Default: `OFF` (turns to `ON` if `BUILD_SHARED_LIBS` is `OFF`)
|
||||
- `BUILD_TESTING`: Build tests. Default: `ON`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue