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:
parent
00d5c11e65
commit
60614d32b8
@ -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
|
||||
|
||||
13
README.md
13
README.md
@ -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
|
||||
|
||||
@ -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}
|
||||
@ -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})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user