From 4a7bd46c8fa637c7165588db44d5a56c7edd373b Mon Sep 17 00:00:00 2001
From: "evgeniy.kramsakov" <evgeniy.kramsakov@demlabs.net>
Date: Tue, 7 Dec 2021 06:36:35 +0000
Subject: [PATCH] feature-3848

---
 .gitignore                                   |  8 +++++++-
 3rdparty/cuttdb/CMakeLists.txt               |  2 +-
 3rdparty/json-c-darwin/CMakeLists.txt        |  2 +-
 3rdparty/json-c/CMakeLists.txt               |  2 +-
 3rdparty/monero_crypto/CMakeLists.txt        |  2 +-
 CMakeLists.txt                               | 16 ++++++++++++++++
 modules/chain/CMakeLists.txt                 |  4 ++--
 modules/channel/chain-net-srv/CMakeLists.txt |  4 ++--
 modules/channel/chain-net/CMakeLists.txt     |  4 ++--
 modules/channel/chain/CMakeLists.txt         |  4 ++--
 modules/common/CMakeLists.txt                |  4 ++--
 modules/consensus/block-poa/CMakeLists.txt   |  4 ++--
 modules/consensus/block-pos/CMakeLists.txt   |  4 ++--
 modules/consensus/block-pow/CMakeLists.txt   |  4 ++--
 modules/consensus/dag-poa/CMakeLists.txt     |  4 ++--
 modules/consensus/dag-pos/CMakeLists.txt     |  4 ++--
 modules/dht/CMakeLists.txt                   |  2 +-
 modules/global-db/CMakeLists.txt             |  2 +-
 modules/mempool/CMakeLists.txt               |  4 ++--
 modules/mining/CMakeLists.txt                |  2 +-
 modules/net/srv/CMakeLists.txt               |  2 +-
 modules/service/app-db/CMakeLists.txt        |  4 ++--
 modules/service/app/CMakeLists.txt           |  4 ++--
 modules/service/datum/CMakeLists.txt         |  4 ++--
 modules/service/mining-pool/CMakeLists.txt   |  4 ++--
 modules/service/stake/CMakeLists.txt         |  2 +-
 modules/service/xchange/CMakeLists.txt       |  2 +-
 modules/test/CMakeLists.txt                  |  2 +-
 modules/type/blocks/CMakeLists.txt           |  4 ++--
 modules/type/dag/CMakeLists.txt              |  4 ++--
 modules/wallet/CMakeLists.txt                |  4 ++--
 31 files changed, 70 insertions(+), 48 deletions(-)

diff --git a/.gitignore b/.gitignore
index e97c609120..3420055ff2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 # Prerequisites
 build/*
+cmake-build-*/
 build_stretch/*
 test/build
 *.txt.user
@@ -67,4 +68,9 @@ Makefile
 cmake_install.cmake
 
 # Editor's temp files
-*~
\ No newline at end of file
+*~
+.idea/
+
+# OS files
+.DS_Store
+
diff --git a/3rdparty/cuttdb/CMakeLists.txt b/3rdparty/cuttdb/CMakeLists.txt
index 85118d5560..8cf9f34ac9 100755
--- a/3rdparty/cuttdb/CMakeLists.txt
+++ b/3rdparty/cuttdb/CMakeLists.txt
@@ -29,7 +29,7 @@ add_library(${PROJECT_NAME} STATIC ${cuttdb_src} ${cuttdb_h})
 set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C)
 set_target_properties(${PROJECT_NAME} PROPERTIES COMPILER_LANGUAGE C)
 
-set_target_properties(dap_cuttdb PROPERTIES LINKER_LANGUAGE C)
+set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C)
 
 target_link_libraries(${PROJECT_NAME})
 
diff --git a/3rdparty/json-c-darwin/CMakeLists.txt b/3rdparty/json-c-darwin/CMakeLists.txt
index 087c1f19bb..455c70f283 100644
--- a/3rdparty/json-c-darwin/CMakeLists.txt
+++ b/3rdparty/json-c-darwin/CMakeLists.txt
@@ -5,4 +5,4 @@ file(GLOB JSON_C_SRCS FILES *.c)
 file(GLOB JSON_C_HEADERS FILES *.h)
 
 add_library(${PROJECT_NAME} STATIC ${JSON_C_SRCS} ${JSON_C_HEADERS})
-target_include_directories(json-c PUBLIC . )
+target_include_directories(${PROJECT_NAME} PUBLIC . )
diff --git a/3rdparty/json-c/CMakeLists.txt b/3rdparty/json-c/CMakeLists.txt
index 087c1f19bb..455c70f283 100644
--- a/3rdparty/json-c/CMakeLists.txt
+++ b/3rdparty/json-c/CMakeLists.txt
@@ -5,4 +5,4 @@ file(GLOB JSON_C_SRCS FILES *.c)
 file(GLOB JSON_C_HEADERS FILES *.h)
 
 add_library(${PROJECT_NAME} STATIC ${JSON_C_SRCS} ${JSON_C_HEADERS})
-target_include_directories(json-c PUBLIC . )
+target_include_directories(${PROJECT_NAME} PUBLIC . )
diff --git a/3rdparty/monero_crypto/CMakeLists.txt b/3rdparty/monero_crypto/CMakeLists.txt
index 34af01cb61..8b18872212 100755
--- a/3rdparty/monero_crypto/CMakeLists.txt
+++ b/3rdparty/monero_crypto/CMakeLists.txt
@@ -384,7 +384,7 @@ endif()
 
 
 add_library(${PROJECT_NAME} STATIC ${monero_crypto_sources})
-target_include_directories(monero_crypto INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 
 
 set(${PROJECT_NAME}_DEFINITIONS CACHE INTERNAL "${PROJECT_NAME}: Definitions" FORCE)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 489778264c..efe32c7df4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,22 @@ set(CMAKE_C_STANDARD 11)
 set(CELLFRAME_SDK_NATIVE_VERSION "3.1-0")
 add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"")
 set(DAPSDK_MODULES "")
+
+if(NOT DEFINED ${CELLFRAME_MODULES})
+    include (cmake/OS_Detection.cmake)
+    if (WIN32)
+        set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange")
+    elseif(BSD)
+        set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange")
+    elseif(DARWIN)
+        set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange")
+    elseif(ANDROID)
+        set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange")
+    elseif(LINUX)
+        set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange modules-dynamic srv-vpn")
+    endif()
+endif()
+
 message("Cellframe modules: ${CELLFRAME_MODULES}")
 
 if (CELLFRAME_MODULES MATCHES "modules-dynamic")
diff --git a/modules/chain/CMakeLists.txt b/modules/chain/CMakeLists.txt
index 2c8a19c4ec..fc43ed57b2 100644
--- a/modules/chain/CMakeLists.txt
+++ b/modules/chain/CMakeLists.txt
@@ -10,7 +10,7 @@ add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_SRCS} ${DAP_CHAIN_HEADERS})
 #find_package(PkgConfig REQUIRED)
 #pkg_search_module(GLIB REQUIRED glib-2.0)
 
-target_link_libraries(dap_chain dap_core dap_chain_common dap_chain_mempool dap_chain_global_db ${GLIB_LDFLAGS})
-target_include_directories(dap_chain INTERFACE . include/ ${GLIB_INCLUDE_DIRS})
+target_link_libraries(${PROJECT_NAME} dap_core dap_chain_common dap_chain_mempool dap_chain_global_db ${GLIB_LDFLAGS})
+target_include_directories(${PROJECT_NAME} INTERFACE . include/ ${GLIB_INCLUDE_DIRS})
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/uthash/src)
diff --git a/modules/channel/chain-net-srv/CMakeLists.txt b/modules/channel/chain-net-srv/CMakeLists.txt
index 5b511f0528..9917548820 100644
--- a/modules/channel/chain-net-srv/CMakeLists.txt
+++ b/modules/channel/chain-net-srv/CMakeLists.txt
@@ -6,7 +6,7 @@ file(GLOB DAP_STREAM_CH_CHAIN_NET_SRV_HDRS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_NET_SRV_SRCS} ${DAP_STREAM_CH_CHAIN_NET_SRV_HDRS})
 
-target_link_libraries(dap_stream_ch_chain_net_srv dap_core dap_crypto dap_chain_common dap_chain dap_chain_mempool dap_chain_net dap_chain_net_srv dap_server_core dap_stream dap_stream_ch dap_stream_ch_chain dap_stream_ch_chain_net)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain_common dap_chain dap_chain_mempool dap_chain_net dap_chain_net_srv dap_server_core dap_stream dap_stream_ch dap_stream_ch_chain dap_stream_ch_chain_net)
 
-target_include_directories(dap_stream_ch_chain_net_srv INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/channel/chain-net/CMakeLists.txt b/modules/channel/chain-net/CMakeLists.txt
index 90b038e903..c7166b01ad 100644
--- a/modules/channel/chain-net/CMakeLists.txt
+++ b/modules/channel/chain-net/CMakeLists.txt
@@ -6,9 +6,9 @@ file(GLOB DAP_STREAM_CH_CHAIN_NET_HDRS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_NET_SRCS} ${DAP_STREAM_CH_CHAIN_NET_HDRS})
 
-target_link_libraries(dap_stream_ch_chain_net dap_core dap_crypto dap_stream dap_stream_ch dap_stream_ch_chain
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_stream dap_stream_ch dap_stream_ch_chain
                                                dap_chain_net)
 
-target_include_directories(dap_stream_ch_chain_net INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/uthash/src)
diff --git a/modules/channel/chain/CMakeLists.txt b/modules/channel/chain/CMakeLists.txt
index 048805b308..e5a850a5c7 100644
--- a/modules/channel/chain/CMakeLists.txt
+++ b/modules/channel/chain/CMakeLists.txt
@@ -6,8 +6,8 @@ file(GLOB DAP_STREAM_CH_CHAIN_HDRS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_SRCS} ${DAP_STREAM_CH_CHAIN_HDRS})
 
-target_link_libraries(dap_stream_ch_chain dap_core dap_crypto dap_chain dap_stream dap_stream_ch)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_stream dap_stream_ch)
 
-target_include_directories(dap_stream_ch_chain INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/uthash/src)
diff --git a/modules/common/CMakeLists.txt b/modules/common/CMakeLists.txt
index 1a46703368..7689148fe4 100644
--- a/modules/common/CMakeLists.txt
+++ b/modules/common/CMakeLists.txt
@@ -6,5 +6,5 @@ file(GLOB DAP_CHAIN_COMMON_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_COMMON_SRCS} ${DAP_CHAIN_COMMON_HEADERS})
 
-target_link_libraries(dap_chain_common dap_core dap_crypto )
-target_include_directories(dap_chain_common PUBLIC include/ )
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto )
+target_include_directories(${PROJECT_NAME} PUBLIC include/ )
diff --git a/modules/consensus/block-poa/CMakeLists.txt b/modules/consensus/block-poa/CMakeLists.txt
index d54c77b2d6..086591aba6 100644
--- a/modules/consensus/block-poa/CMakeLists.txt
+++ b/modules/consensus/block-poa/CMakeLists.txt
@@ -6,6 +6,6 @@ file(GLOB DAP_CHAIN_BLOCK_CS_POA_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_BLOCK_CS_POA_SRCS} ${DAP_CHAIN_BLOCK_CS_POA_HEADERS})
 
-target_link_libraries(dap_chain_cs_block_poa dap_core dap_crypto dap_chain dap_chain_cs_blocks dap_chain_net_srv_stake)
-target_include_directories(dap_chain_cs_block_poa INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_blocks dap_chain_net_srv_stake)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/consensus/block-pos/CMakeLists.txt b/modules/consensus/block-pos/CMakeLists.txt
index 2417e6529e..587d3b2d02 100644
--- a/modules/consensus/block-pos/CMakeLists.txt
+++ b/modules/consensus/block-pos/CMakeLists.txt
@@ -6,6 +6,6 @@ file(GLOB DAP_CHAIN_CS_BLOCK_POS_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_CS_BLOCK_POS_SRCS} ${DAP_CHAIN_CS_BLOCK_POS_HEADERS})
 
-target_link_libraries(dap_chain_cs_block_pos dap_core dap_crypto dap_chain dap_chain_cs_blocks dap_chain_net_srv_stake)
-target_include_directories(dap_chain_cs_block_pos INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_blocks dap_chain_net_srv_stake)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/consensus/block-pow/CMakeLists.txt b/modules/consensus/block-pow/CMakeLists.txt
index 334d6eb6a9..9f3cc01638 100644
--- a/modules/consensus/block-pow/CMakeLists.txt
+++ b/modules/consensus/block-pow/CMakeLists.txt
@@ -7,6 +7,6 @@ file(GLOB DAP_CHAIN_BLOCK_CS_POW_HEADERS include/*.h)
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_BLOCK_CS_POW_SRCS} ${DAP_CHAIN_BLOCK_CS_POW_HEADERS})
 
 
-target_link_libraries(dap_chain_cs_block_pow dap_core dap_crypto dap_chain dap_chain_cs_block )
-target_include_directories(dap_chain_block_cs_pow INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_block )
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 
diff --git a/modules/consensus/dag-poa/CMakeLists.txt b/modules/consensus/dag-poa/CMakeLists.txt
index 12a35ad6a4..457d52f9ab 100644
--- a/modules/consensus/dag-poa/CMakeLists.txt
+++ b/modules/consensus/dag-poa/CMakeLists.txt
@@ -6,6 +6,6 @@ file(GLOB DAP_CHAIN_DAG_CS_POA_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_DAG_CS_POA_SRCS} ${DAP_CHAIN_DAG_CS_POA_HEADERS})
 
-target_link_libraries(dap_chain_cs_dag_poa dap_core dap_crypto dap_chain dap_chain_cs_dag dap_chain_net_srv_stake)
-target_include_directories(dap_chain_cs_dag_poa INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_dag dap_chain_net_srv_stake)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/consensus/dag-pos/CMakeLists.txt b/modules/consensus/dag-pos/CMakeLists.txt
index 8b8dff9976..33b2032af8 100644
--- a/modules/consensus/dag-pos/CMakeLists.txt
+++ b/modules/consensus/dag-pos/CMakeLists.txt
@@ -6,6 +6,6 @@ file(GLOB DAP_CHAIN_CS_DAG_POS_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_CS_DAG_POS_SRCS} ${DAP_CHAIN_CS_DAG_POS_HEADERS})
 
-target_link_libraries(dap_chain_cs_dag_pos dap_core dap_crypto dap_chain dap_chain_cs_dag dap_chain_net_srv_stake)
-target_include_directories(dap_chain_cs_dag_pos INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_cs_dag dap_chain_net_srv_stake)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/dht/CMakeLists.txt b/modules/dht/CMakeLists.txt
index bbdec344ae..d1c37c570e 100644
--- a/modules/dht/CMakeLists.txt
+++ b/modules/dht/CMakeLists.txt
@@ -13,6 +13,6 @@ add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_DHT_SRC} ${DAP_CHAIN_DHT_HDR})
 
 target_link_libraries(${PROJECT_NAME}  ${DAP_CHAIN_DHT_LIBS})
 
-target_include_directories(dap_chain_dht INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 
diff --git a/modules/global-db/CMakeLists.txt b/modules/global-db/CMakeLists.txt
index 1be3f9836b..1d22fa8fc7 100644
--- a/modules/global-db/CMakeLists.txt
+++ b/modules/global-db/CMakeLists.txt
@@ -20,7 +20,7 @@ add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_GLOBAL_DB_SRC} ${DAP_CHAIN_GLOBAL
 
 target_link_libraries(${PROJECT_NAME}  ${DAP_CHAIN_GLOBAL_DB_LIBS})
 
-target_include_directories(dap_chain_global_db INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/uthash/src)
 
diff --git a/modules/mempool/CMakeLists.txt b/modules/mempool/CMakeLists.txt
index f2d0ede232..b337f93df4 100644
--- a/modules/mempool/CMakeLists.txt
+++ b/modules/mempool/CMakeLists.txt
@@ -6,6 +6,6 @@ file(GLOB DAP_CHAIN_MEMPOOL_HDR include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_MEMPOOL_SRC} ${DAP_CHAIN_MEMPOOL_HDR})
 
-target_link_libraries(dap_chain_mempool dap_http_server dap_client dap_chain_net dap_chain_global_db dap_core)
-target_include_directories(dap_chain_mempool INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_http_server dap_client dap_chain_net dap_chain_global_db dap_core)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/mining/CMakeLists.txt b/modules/mining/CMakeLists.txt
index 3e4e88edd3..5950015428 100644
--- a/modules/mining/CMakeLists.txt
+++ b/modules/mining/CMakeLists.txt
@@ -12,7 +12,7 @@ add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_CRYPTO_SRCS} ${DAP_CHAIN_CRYPTO_H
 
 target_include_directories(dap_chain_crypto INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
-target_link_libraries(dap_chain_crypto dap_core dap_crypto dap_chain monero_crypto)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain monero_crypto)
 
 set(${PROJECT_NAME}_DEFINITIONS CACHE INTERNAL "${PROJECT_NAME}: Definitions" FORCE)
 set(${PROJECT_NAME}_INCLUDE_DIRS ${PROJECT_SOURCE_DIR} CACHE INTERNAL "${PROJECT_NAME}: Include Directories" FORCE)
diff --git a/modules/net/srv/CMakeLists.txt b/modules/net/srv/CMakeLists.txt
index b6661c7f1b..399b0a4337 100644
--- a/modules/net/srv/CMakeLists.txt
+++ b/modules/net/srv/CMakeLists.txt
@@ -18,6 +18,6 @@ endif()
 #endif()
 
 target_link_libraries(${NET_SRV_LIBS})
-target_include_directories(dap_chain_net_srv INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/uthash/src)
diff --git a/modules/service/app-db/CMakeLists.txt b/modules/service/app-db/CMakeLists.txt
index f6a7a7977d..66ca6ade42 100644
--- a/modules/service/app-db/CMakeLists.txt
+++ b/modules/service/app-db/CMakeLists.txt
@@ -7,7 +7,7 @@ file(GLOB DAP_CHAIN_NET_SRV_APP_DB_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_APP_DB_SRCS} ${DAP_CHAIN_NET_SRV_APP_DB_HEADERS})
 
-target_link_libraries(dap_chain_net_srv_app_db dap_chain_net_srv dap_chain_net_srv_app)
-target_include_directories(dap_chain_net_srv_app_db INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_chain_net_srv dap_chain_net_srv_app)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 
diff --git a/modules/service/app/CMakeLists.txt b/modules/service/app/CMakeLists.txt
index e69756a8d3..210374c2f4 100644
--- a/modules/service/app/CMakeLists.txt
+++ b/modules/service/app/CMakeLists.txt
@@ -7,6 +7,6 @@ file(GLOB DAP_CHAIN_NET_SRV_APP_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_APP_SRCS} ${DAP_CHAIN_NET_SRV_APP_HEADERS})
 
-target_link_libraries(dap_chain_net_srv_app dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv)
-target_include_directories(dap_chain_net_srv_app INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_net_srv)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/service/datum/CMakeLists.txt b/modules/service/datum/CMakeLists.txt
index dc38274497..62ad4a0ba4 100644
--- a/modules/service/datum/CMakeLists.txt
+++ b/modules/service/datum/CMakeLists.txt
@@ -7,7 +7,7 @@ file(GLOB DAP_CHAIN_NET_SRV_DATUM_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_DATUM_SRCS} ${DAP_CHAIN_NET_SRV_DATUM_HEADERS})
 
-target_link_libraries(dap_chain_net_srv_datum dap_chain_net_srv)
-target_include_directories(dap_chain_net_srv_datum INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_chain_net_srv)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 
diff --git a/modules/service/mining-pool/CMakeLists.txt b/modules/service/mining-pool/CMakeLists.txt
index 6a66f485f3..7db0c520a5 100644
--- a/modules/service/mining-pool/CMakeLists.txt
+++ b/modules/service/mining-pool/CMakeLists.txt
@@ -6,7 +6,7 @@ file(GLOB DAP_CHAIN_NET_SRV_DATUM_POOL_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_NET_SRV_DATUM_POOL_SRCS} ${DAP_CHAIN_NET_SRV_DATUM_POOL_HEADERS})
 
-target_link_libraries(dap_chain_net_srv_datum_pool dap_chain_net_srv dap_chain_net_srv_datum)
-target_include_directories(dap_chain_net_srv_datum_pool INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_chain_net_srv dap_chain_net_srv_datum)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 
diff --git a/modules/service/stake/CMakeLists.txt b/modules/service/stake/CMakeLists.txt
index e6217cf009..9947458391 100644
--- a/modules/service/stake/CMakeLists.txt
+++ b/modules/service/stake/CMakeLists.txt
@@ -7,6 +7,6 @@ file(GLOB DAP_SRV_STAKE_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_SRV_STAKE_SRCS} ${DAP_SRV_STAKE_HEADERS})
 
-target_include_directories(dap_chain_crypto INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto dap_chain_net dap_chain_net_srv dap_chain_cs_dag_poa dap_chain_cs_block_poa)
diff --git a/modules/service/xchange/CMakeLists.txt b/modules/service/xchange/CMakeLists.txt
index 82d036e96b..c6b509051e 100644
--- a/modules/service/xchange/CMakeLists.txt
+++ b/modules/service/xchange/CMakeLists.txt
@@ -7,6 +7,6 @@ file(GLOB DAP_SRV_XCHANGE_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_SRV_XCHANGE_SRCS} ${DAP_SRV_XCHANGE_HEADERS})
 
-target_include_directories(dap_chain_crypto INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto dap_chain_net dap_chain_net_srv)
diff --git a/modules/test/CMakeLists.txt b/modules/test/CMakeLists.txt
index 70e543e45b..b48617d0f0 100644
--- a/modules/test/CMakeLists.txt
+++ b/modules/test/CMakeLists.txt
@@ -6,4 +6,4 @@ project(dap_test)
 
 add_library(${PROJECT_NAME} STATIC dap_test.h dap_test.c dap_test_generator.h dap_test_generator.c)
 
-target_include_directories(dap_test INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
diff --git a/modules/type/blocks/CMakeLists.txt b/modules/type/blocks/CMakeLists.txt
index 44f0787add..0c377cec8c 100644
--- a/modules/type/blocks/CMakeLists.txt
+++ b/modules/type/blocks/CMakeLists.txt
@@ -7,6 +7,6 @@ file(GLOB DAP_CHAIN_BLOCK_HEADERS include/*.h)
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_BLOCK_SRCS} ${DAP_CHAIN_BLOCK_HEADERS})
 
 
-target_link_libraries(dap_chain_cs_blocks dap_core dap_crypto dap_chain )
-target_include_directories(dap_chain_cs_blocks INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain )
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
diff --git a/modules/type/dag/CMakeLists.txt b/modules/type/dag/CMakeLists.txt
index 7ba78b85c6..d4912385dc 100644
--- a/modules/type/dag/CMakeLists.txt
+++ b/modules/type/dag/CMakeLists.txt
@@ -5,7 +5,7 @@ file(GLOB DAP_CHAIN_DAG_SRCS *.c)
 file(GLOB DAP_CHAIN_DAG_HEADERS include/*.h)
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_DAG_SRCS} ${DAP_CHAIN_DAG_HEADERS})
 
-target_link_libraries(dap_chain_cs_dag dap_core dap_crypto dap_chain dap_chain_net dap_chain_global_db)
-target_include_directories(dap_chain_cs_dag INTERFACE .)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net dap_chain_global_db)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/uthash/src)
diff --git a/modules/wallet/CMakeLists.txt b/modules/wallet/CMakeLists.txt
index 65e9b46203..4d61a3b9f8 100644
--- a/modules/wallet/CMakeLists.txt
+++ b/modules/wallet/CMakeLists.txt
@@ -6,7 +6,7 @@ file(GLOB DAP_CHAIN_WALLET_HEADERS include/*.h)
 
 add_library(${PROJECT_NAME} STATIC ${DAP_CHAIN_WALLET_SRCS} ${DAP_CHAIN_WALLET_HEADERS})
 
-target_link_libraries(dap_chain_wallet dap_core dap_crypto dap_chain dap_chain_net)
+target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_net)
 
-target_include_directories(dap_chain_wallet INTERFACE .)
+target_include_directories(${PROJECT_NAME} INTERFACE .)
 target_include_directories(${PROJECT_NAME} PUBLIC include)
-- 
GitLab