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(
|
project(
|
||||||
uvw
|
uvw
|
||||||
VERSION ${UVW_VERSION_MAJOR}.${UVW_VERSION_MINOR}.${UVW_VERSION_PATCH}
|
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"
|
HOMEPAGE_URL "https://github.com/skypjack/uvw"
|
||||||
LANGUAGES C CXX
|
LANGUAGES C CXX
|
||||||
)
|
)
|
||||||
@ -39,7 +39,7 @@ message("*")
|
|||||||
option(USE_LIBCPP "Use libc++ by adding -stdlib=libc++ flag if availbale." ON)
|
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_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(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
|
# Compiler stuff
|
||||||
@ -84,8 +84,6 @@ function(fetch_libuv)
|
|||||||
|
|
||||||
add_library(uv::uv-static ALIAS uv_a)
|
add_library(uv::uv-static ALIAS uv_a)
|
||||||
set_target_properties(uv_a PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
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)
|
set_target_properties(uv PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@ -159,9 +157,6 @@ if(UNIX)
|
|||||||
configure_file(libuvw-static.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libuvw-static.pc @ONLY)
|
configure_file(libuvw-static.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libuvw-static.pc @ONLY)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libuvw-static.pc
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libuvw-static.pc
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
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()
|
endif()
|
||||||
|
|
||||||
### Testing
|
### 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
|
`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/>
|
[`libuv`](https://github.com/libuv/libuv) written in modern C++.<br/>
|
||||||
Now it's finally available also as a compilable library, either static or
|
Now it's finally available also as a compilable static library.
|
||||||
shared.
|
|
||||||
|
|
||||||
The basic idea is to hide completely the *C-ish* interface of `libuv` behind a
|
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
|
graceful C++ API. Currently, no `uv_*_t` data structure is actually exposed by
|
||||||
@ -110,7 +109,7 @@ libraries are compiled through `CMake`.
|
|||||||
## Library
|
## Library
|
||||||
|
|
||||||
`uvw` is a dual-mode library. It can be used in its header-only form or as a
|
`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
|
The following sections describe what to do in both cases to get `uvw` up and
|
||||||
runningin your own project.
|
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.
|
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
|
To use `uvw` as a compiled library, set the `BUILD_UVW_LIBS` options in cmake
|
||||||
before including the project.<br/>
|
before including the project.<br/>
|
||||||
This option triggers the generation of two targets named respectively
|
This option triggers the generation of a targets named
|
||||||
`uvw::uvw-static` and `uvw::uvw-shared`. The matching version of `libuv` is also
|
`uvw::uvw-static`. The matching version of `libuv` is also
|
||||||
compiled and exported as `uv::uv-static` and `uv::uv-shared` for convenience.
|
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
|
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
|
`.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)
|
set_target_properties(uvw-static PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||||
add_uvw_library(uvw-static)
|
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 targets
|
||||||
#
|
#
|
||||||
|
|
||||||
install(EXPORT uvw NAMESPACE uvw:: DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(EXPORT uvw NAMESPACE uvw:: DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
install(TARGETS uvw-static EXPORT uvw ARCHIVE 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_a EXPORT uvw ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
install(TARGETS uv EXPORT uvw LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(TARGETS uv EXPORT uvw LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user