diff --git a/CMakeLists.txt b/CMakeLists.txt
index dbd1a4ec78c5bd0c584e5186fab1dac40fd5d53b..cf455099ea592db29aadf20e4def78daa639a63a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0)
 project (dap_chain_net)
   
 set(DAP_CHAIN_NET_SRCS 
-	dap_chain_net.c 
+  dap_chain_net.c 
         dap_chain_node.c
         dap_chain_node_cli.c
         dap_chain_node_cli_cmd.c
@@ -23,11 +23,46 @@ set(IPUTILS_INCLUDE_DIRS
      iputils/traceroute/
     )
 
-file(GLOB IPUTILS_SRCS iputils/*.c iputils/traceroute/*.c)
-file(GLOB IPUTILS_HEADERS iputils/*.h ${IPUTILS_INCLUDE_DIRS}*.h)
+if(NOT (WIN32))
+  file(GLOB IPUTILS_SRCS iputils/*.c iputils/traceroute/*.c)
+  file(GLOB IPUTILS_HEADERS iputils/*.h ${IPUTILS_INCLUDE_DIRS}*.h)
+endif()
+
+if(WIN32)
+  add_definitions ("-DUNDEBUG")
+  add_definitions ("-DNDEBUG")
+  add_definitions ("-DWIN32")
+  add_definitions ("-D_WINDOWS")
+  add_definitions ("-D__WINDOWS__")
+  add_definitions ("-D_CRT_SECURE_NO_WARNINGS")
+  add_definitions ("-DCURL_STATICLIB")
+  add_definitions ("-DLIBSSH2_OPENSSL")
+  add_definitions ("-DNGHTTP2_STATICLIB")
+  add_definitions ("-D_POSIX")
+  add_definitions ("-D_POSIX_")
+  add_definitions ("-D_POSIX_THREAD_SAFE_FUNCTIONS")
+  add_definitions ("-DNODE_NETNAME=\"kelvin\"")
+  include_directories(../libdap/src/win32/)
+  include_directories(../3rdparty/libmemcached/)
+  include_directories(../3rdparty/libmemcached/win32/)
+  include_directories(../3rdparty/wepoll/include/)
+  include_directories(../3rdparty/uthash/src/)
+  include_directories(../3rdparty/libjson-c/)
+  include_directories(../3rdparty/libmagic/src/)
+  include_directories(../3rdparty/curl/include/)
+  include_directories(../3rdparty/libsqlite3/)
+endif()
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRCS} ${DAP_CHAIN_NET_HEADERS} ${IPUTILS_SRCS} ${IPUTILS_HEADERS})
-target_link_libraries(dap_chain_net dap_core dap_crypto dap_client dap_stream_ch_chain dap_stream_ch_chain_net dap_chain dap_chain_gdb dap_chain_crypto dap_chain_wallet dap_chain_net_srv dap_chain_mempool dap_chain_global_db -lresolv)
+
+if(WIN32)
+  target_link_libraries(dap_chain_net dap_core dap_crypto dap_client dap_stream_ch_chain dap_stream_ch_chain_net dap_chain dap_chain_crypto dap_chain_wallet dap_chain_net_srv dap_chain_mempool dap_chain_global_db )
+endif()
+
+if(UNIX)
+  target_link_libraries(dap_chain_net dap_core dap_crypto dap_client dap_stream_ch_chain dap_stream_ch_chain_net dap_chain dap_chain_crypto dap_chain_wallet dap_chain_net_srv dap_chain_mempool dap_chain_global_db -lresolv)
+endif()
+
 target_include_directories(dap_chain_net INTERFACE . PUBLIC ${IPUTILS_INCLUDE_DIRS})
 
 set(${PROJECT_NAME}_DEFINITIONS CACHE INTERNAL "${PROJECT_NAME}: Definitions" FORCE)