--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ set (MINIUPNPC_SOURCES
   connecthostport.c
   portlistingparse.c
   receivedata.c
+  listdevices.c
   connecthostport.h
   igd_desc_parse.h
   minisoap.h
@@ -142,6 +143,10 @@ if (UPNPC_BUILD_SHARED)
     add_executable (upnpc-shared upnpc.c)
     target_link_libraries (upnpc-shared PRIVATE libminiupnpc-shared)
     target_include_directories(upnpc-shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+
+    add_executable (listdevices listdevices.c)
+    target_link_libraries (listdevices PRIVATE libminiupnpc-shared)
+    target_include_directories(listdevices PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
   endif ()
 endif ()
 
