diff --git a/CMakeLists.txt b/CMakeLists.txt
index e648b00..080f403 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -326,13 +326,19 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
   list(APPEND uv_test_libraries util)
 endif()
 
-add_library(uv SHARED ${uv_sources})
-target_compile_definitions(uv
-  INTERFACE
-    USING_UV_SHARED=1
-  PRIVATE
-    BUILDING_UV_SHARED=1
-    ${uv_defines})
+add_library(uv ${uv_sources})
+get_target_property(target_type uv TYPE)
+if (target_type STREQUAL "SHARED_LIBRARY")
+  target_compile_definitions(uv
+    INTERFACE
+      USING_UV_SHARED=1
+    PRIVATE
+      BUILDING_UV_SHARED=1
+  )
+else()
+  set_property(TARGET uv PROPERTY OUTPUT_NAME "uv_a")
+endif()
+target_compile_definitions(uv PRIVATE ${uv_defines})
 target_compile_options(uv PRIVATE ${uv_cflags})
 target_include_directories(uv
   PUBLIC
@@ -342,17 +348,6 @@ target_include_directories(uv
     $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
 target_link_libraries(uv ${uv_libraries})
 
-add_library(uv_a STATIC ${uv_sources})
-target_compile_definitions(uv_a PRIVATE ${uv_defines})
-target_compile_options(uv_a PRIVATE ${uv_cflags})
-target_include_directories(uv_a
-  PUBLIC
-    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
-    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
-  PRIVATE
-    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
-target_link_libraries(uv_a ${uv_libraries})
-
 if(LIBUV_BUILD_TESTS)
   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
   # before the actual tests are added.
@@ -595,19 +590,18 @@ if(UNIX OR MINGW)
   configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
 
   install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
-  install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc
-          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-  install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-  install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
+  install(TARGETS uv
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 endif()
 
 if(MSVC)
   install(DIRECTORY include/ DESTINATION include)
-  install(FILES LICENSE DESTINATION .)
-  install(TARGETS uv uv_a
-          RUNTIME DESTINATION lib/$<CONFIG>
-          ARCHIVE DESTINATION lib/$<CONFIG>)
+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
+  install(TARGETS uv
+    RUNTIME DESTINATION bin
+    ARCHIVE DESTINATION lib)
 endif()
 
 message(STATUS "summary of build options:
