---- /dev/null
+--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -0,0 +1,50 @@
-+cmake_minimum_required(VERSION 2.8.12)
-+
-+if(POLICY CMP0048)
-+ cmake_policy(SET CMP0048 NEW)
-+endif()
-+
+@@ -4,7 +4,10 @@ if(POLICY CMP0048)
+ cmake_policy(SET CMP0048 NEW)
+ endif()
+
+-project(natpmp)
+project(natpmp C)
+
-+set (NATPMP_VERSION 20150609)
++set (NATPMP_VERSION 20230423)
+set (NATPMP_API_VERSION 1)
-+
-+set (NATPMP_SOURCES
-+ natpmp.c
-+ getgateway.c
-+)
-+
-+if (WIN32)
-+ set (NATPMP_SOURCES ${NATPMP_SOURCES} wingettimeofday.c)
-+endif (WIN32)
-+
-+# Library itself
+
+ set (NATPMP_SOURCES
+ natpmp.c
+@@ -16,20 +19,33 @@ if (WIN32)
+ endif (WIN32)
+
+ # Library itself
+-add_library(natpmp STATIC ${NATPMP_SOURCES})
+-target_include_directories(natpmp PUBLIC ${CMAKE_CURRENT_LIST_DIR})
+add_library(natpmp SHARED ${NATPMP_SOURCES})
+set_target_properties (natpmp PROPERTIES OUTPUT_NAME "natpmp")
+set_target_properties (natpmp PROPERTIES VERSION ${NATPMP_VERSION})
+set_target_properties (natpmp PROPERTIES SOVERSION ${NATPMP_API_VERSION})
-+target_compile_definitions(natpmp PRIVATE -DENABLE_STRNATPMPERR)
+ target_compile_definitions(natpmp PRIVATE -DENABLE_STRNATPMPERR)
+target_include_directories(natpmp PUBLIC ${CMAKE_CURRENT_LIST_DIR})
-+
-+if (WIN32)
-+ target_link_libraries(natpmp PUBLIC ws2_32 Iphlpapi)
-+ target_compile_definitions(natpmp PUBLIC -DNATPMP_STATICLIB)
-+endif (WIN32)
-+
+
+ if (WIN32)
+ target_link_libraries(natpmp PUBLIC ws2_32 Iphlpapi)
+ target_compile_definitions(natpmp PUBLIC -DNATPMP_STATICLIB)
+ endif (WIN32)
+
+install(TARGETS natpmp
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
+
-+# Executables
-+add_executable(natpmpc natpmpc.c)
-+target_link_libraries(natpmpc natpmp)
-+
+ # Executables
+ add_executable(natpmpc natpmpc.c)
+ target_link_libraries(natpmpc natpmp)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/natpmpc DESTINATION bin)
+
-+add_executable(testgetgateway
-+ testgetgateway.c
-+ getgateway.c)
-+target_link_libraries(testgetgateway natpmp)
+ add_executable(testgetgateway
+ testgetgateway.c
+ getgateway.c)
+ target_link_libraries(testgetgateway natpmp)
+
+install(FILES natpmp.h DESTINATION include)
++install(FILES natpmp_declspec.h DESTINATION include)