tools: add upnpctrl

Change-Id: I4eba598ae849d982d077fce000d0d83f5a4f7762
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f4ce3b7..d787958 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,6 +145,12 @@
     target_link_libraries(dnc PRIVATE dhtnet fmt::fmt)
     target_include_directories(dnc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tools)
     install(TARGETS dnc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+    add_executable(upnpctrl
+        tools/upnp/upnpctrl.cpp)
+    target_link_libraries(upnpctrl PRIVATE dhtnet fmt::fmt readline)
+    target_include_directories(upnpctrl PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tools)
+    install(TARGETS upnpctrl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 endif()
 
 if (BUILD_TESTING AND NOT MSVC)