remove all reference to shared library

too much effort to support cross-platform DSO

Signed-off-by: Fiorentino Ing. Stefano <stefano.fiore84@gmail.com>
This commit is contained in:
Fiorentino Ing. Stefano 2020-06-29 11:10:47 +02:00
parent 00d5c11e65
commit 60614d32b8
4 changed files with 8 additions and 37 deletions

View File

@ -22,7 +22,7 @@ set(UVW_VERSION_PATCH 0)
project(
uvw
VERSION ${UVW_VERSION_MAJOR}.${UVW_VERSION_MINOR}.${UVW_VERSION_PATCH}
DESCRIPTION "Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!"
DESCRIPTION "Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available also as static library!"
HOMEPAGE_URL "https://github.com/skypjack/uvw"
LANGUAGES C CXX
)
@ -39,7 +39,7 @@ message("*")
option(USE_LIBCPP "Use libc++ by adding -stdlib=libc++ flag if availbale." ON)
option(USE_ASAN "Use address sanitizer by adding -fsanitize=address -fno-omit-frame-pointer flags" OFF)
option(USE_UBSAN "Use address sanitizer by adding -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer flags" OFF)
option(BUILD_UVW_LIBS "Prepare targets for static and shared libraries rather than for a header-only library." OFF)
option(BUILD_UVW_LIBS "Prepare targets for static library rather than for a header-only library." OFF)
#
# Compiler stuff
@ -84,8 +84,6 @@ function(fetch_libuv)
add_library(uv::uv-static ALIAS uv_a)
set_target_properties(uv_a PROPERTIES POSITION_INDEPENDENT_CODE 1)
add_library(uv::uv-shared ALIAS uv)
set_target_properties(uv PROPERTIES POSITION_INDEPENDENT_CODE 1)
endfunction()
@ -159,9 +157,6 @@ if(UNIX)
configure_file(libuvw-static.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libuvw-static.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libuvw-static.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
configure_file(libuvw-shared.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libuvw-shared.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libuvw-shared.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()
### Testing

View File

@ -25,8 +25,7 @@ and still support me today.
`uvw` started as a header-only, event based, tiny and easy to use wrapper for
[`libuv`](https://github.com/libuv/libuv) written in modern C++.<br/>
Now it's finally available also as a compilable library, either static or
shared.
Now it's finally available also as a compilable static library.
The basic idea is to hide completely the *C-ish* interface of `libuv` behind a
graceful C++ API. Currently, no `uv_*_t` data structure is actually exposed by
@ -110,7 +109,7 @@ libraries are compiled through `CMake`.
## Library
`uvw` is a dual-mode library. It can be used in its header-only form or as a
compiled library, either shared or static.<br/>
compiled static library.<br/>
The following sections describe what to do in both cases to get `uvw` up and
runningin your own project.
@ -131,13 +130,13 @@ libraries search paths for `libuv` in this case.
When used through `CMake`, the `uvw::uvw` target is exported for convenience.
### Static/Shared
### Static
To use `uvw` as a compiled library, set the `BUILD_UVW_LIBS` options in cmake
before including the project.<br/>
This option triggers the generation of two targets named respectively
`uvw::uvw-static` and `uvw::uvw-shared`. The matching version of `libuv` is also
compiled and exported as `uv::uv-static` and `uv::uv-shared` for convenience.
This option triggers the generation of a targets named
`uvw::uvw-static`. The matching version of `libuv` is also
compiled and exported as `uv::uv-static` for convenience.
In case you don't use or don't want to use `CMake`, you can still compile all
`.cpp` files and include all `.h` files to get the job done. In this case, users

View File

@ -1,12 +0,0 @@
prefix=@prefix@
exec_prefix=${prefix}
libdir=@libdir@
includedir=@includedir@
Name: libuvw
Version: @PACKAGE_VERSION@
Description: Header-only, event based, tiny and easy to use libuv wrapper in modern C++
URL: https://github.com/skypjack/uvw
Libs: -L${libdir} -luvw-shared @LIBS@
Cflags: -I${includedir}

View File

@ -67,22 +67,11 @@ target_link_libraries(uvw-static PUBLIC uv::uv-static)
set_target_properties(uvw-static PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
add_uvw_library(uvw-static)
#
# Shared library
#
add_library(uvw-shared SHARED)
add_library(uvw::uvw-shared ALIAS uvw-shared)
target_link_libraries(uvw-shared PUBLIC uv::uv-shared)
set_target_properties(uvw-shared PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${UVW_VERSION_MAJOR} EXCLUDE_FROM_DEFAULT_BUILD 1)
add_uvw_library(uvw-shared)
#
# Install targets
#
install(EXPORT uvw NAMESPACE uvw:: DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS uvw-static EXPORT uvw ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS uvw-shared EXPORT uvw LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS uv_a EXPORT uvw ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS uv EXPORT uvw LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})