diff --git a/CMakeLists.txt b/CMakeLists.txt
index d6394f99dcee7122cfef89b7475e053988037523..c8df863ecf02797511335e9337e4ccc98e8c336e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,7 +73,7 @@ check_include_file("uuid/uuid.h" UUID_FOUND)
 if (NOT UUID_FOUND)
 	message(ERROR "UUID library is required")
 endif()
-find_library(UUID_LIBRARIES NAME uuid libuuid)
+find_library(UUID_LIBRARIES NAMES uuid libuuid)
 else()
 
 endif()
diff --git a/cmake/Findglog.cmake b/cmake/Findglog.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..b7ea41f92cbc8e4dcbf800d4162155673431031e
--- /dev/null
+++ b/cmake/Findglog.cmake
@@ -0,0 +1,39 @@
+###############################################################################
+# Find glog
+#
+
+if(WIN32)
+find_path(glog_DIR NAMES include/glog/logging.h PATHS "C:/Program Files/glog" "C:/Program Files/google-glog" "C:/Program Files (x86)/google-glog")
+set(glog_DIR ${glog_DIR})
+else()
+set(glog_DIR "")
+endif()
+
+# Find lib
+set(GLOG_FOUND FALSE CACHE BOOL "" FORCE)
+find_library(GLOG_LIBRARY
+    NAMES glog libglog
+    PATHS ${glog_DIR}
+    PATH_SUFFIXES lib/
+)
+
+# Find include
+find_path(GLOG_INCLUDE_DIRS
+    NAMES glog/logging.h
+    PATHS ${glog_DIR}
+    PATH_SUFFIXES include
+)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(glog DEFAULT_MSG GLOG_LIBRARY GLOG_INCLUDE_DIRS)
+
+mark_as_advanced(GLOG_FOUND)
+
+if(GLOG_FOUND)
+    set(GLOG_FOUND TRUE CACHE BOOL "" FORCE)
+    mark_as_advanced(GLOG_INCLUDE_DIRS GLOG_LIBRARY)
+    add_library(glog::glog UNKNOWN IMPORTED)
+    set_property(TARGET glog::glog PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIRS})
+	set_property(TARGET glog::glog PROPERTY IMPORTED_LOCATION ${GLOG_LIBRARY})
+    message(STATUS "Found glog: ${GLOG_LIBRARY}")
+endif()
diff --git a/cv-node/CMakeLists.txt b/cv-node/CMakeLists.txt
index 53cfce7ab88eac15f6fbbd36f9657c70c7ad8d6b..392520d3466257c9546a752ccc368cb5d9aca2aa 100644
--- a/cv-node/CMakeLists.txt
+++ b/cv-node/CMakeLists.txt
@@ -40,13 +40,13 @@ if (CUDA_FOUND)
 endif (CUDA_FOUND)
 
 add_executable(cv-node ${CVNODESRC})
-add_dependencies(cv-node net)
+add_dependencies(cv-node ftlnet)
 
 if (CUDA_FOUND)
 set_property(TARGET cv-node PROPERTY CUDA_SEPARABLE_COMPILATION ON)
 endif()
 
 #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include)
-target_link_libraries(cv-node Threads::Threads ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} glog::glog ${PROJECT_BINARY_DIR}/net/cpp/Release/net.lib)
+target_link_libraries(cv-node Threads::Threads ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} glog::glog ftlnet)
 
 
diff --git a/net/cpp/CMakeLists.txt b/net/cpp/CMakeLists.txt
index 0031ab45fd9bdcc26d9918b4a57984fbe1259da2..046aa32d33d26a5971c07c613e0da8ed371bbad3 100644
--- a/net/cpp/CMakeLists.txt
+++ b/net/cpp/CMakeLists.txt
@@ -19,11 +19,11 @@ set(NETSOURCE
 #endif()
 check_function_exists(uriParseSingleUriA HAVE_URIPARSESINGLE)
 
-add_library(net ${NETSOURCE})
-target_link_libraries(net Threads::Threads glog::glog)
+add_library(ftlnet ${NETSOURCE})
+target_link_libraries(ftlnet Threads::Threads glog::glog)
 
 add_executable(net-cli src/main.cpp)
-target_link_libraries(net-cli "${PROJECT_BINARY_DIR}/net/cpp/libnet.a" glog::glog ${URIPARSER_LIBRARIES} Threads::Threads ${READLINE_LIBRARIES} ${UUID_LIBRARIES})
-add_dependencies(net-cli net)
+target_link_libraries(net-cli ftlnet glog::glog ${URIPARSER_LIBRARIES} Threads::Threads ${READLINE_LIBRARY} ${UUID_LIBRARIES})
+add_dependencies(net-cli ftlnet)
 
 ADD_SUBDIRECTORY(test)