tools: add dsh (distributed shell)

Change-Id: Ied91b88933ae5cb4be054a167ef803edf9ea6554
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 30b6b54..900be4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -223,6 +223,14 @@
     target_include_directories(dnc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tools)
     install(TARGETS dnc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 
+    add_executable(dsh
+        tools/dsh/main.cpp
+        tools/dsh/dsh.cpp
+        tools/common.cpp)
+    target_link_libraries(dsh PRIVATE dhtnet fmt::fmt)
+    target_include_directories(dnc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tools)
+    install(TARGETS dsh RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
     add_executable(upnpctrl
         tools/upnp/upnpctrl.cpp)
     target_link_libraries(upnpctrl PRIVATE dhtnet fmt::fmt readline)