diff --git a/CMakeLists.txt b/CMakeLists.txt index 02620a6c..22847ba7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/README.md b/README.md index f88df453..b2b505eb 100644 --- a/README.md +++ b/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++.
-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.
+compiled static library.
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.
-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 diff --git a/libuvw-shared.pc.in b/libuvw-shared.pc.in deleted file mode 100644 index 0177da6f..00000000 --- a/libuvw-shared.pc.in +++ /dev/null @@ -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} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 25e6c12a..d825e500 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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})