Merge changes Ia2ec062e,Iab642afe,Ied6dca1b

* changes:
  build: make it possible to use stuff in shared libraries
  Add missing inter-library dependencies
  Remove unimplemented function
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 27172a5..ea37878 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,7 @@
 cmake_minimum_required(VERSION 3.0)
 set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
 
 include(GNUInstallDirs)
 
@@ -83,7 +84,7 @@
     src/static_schema.cpp
     src/schema.cpp
     )
-target_link_libraries(schemas PUBLIC Boost::boost)
+target_link_libraries(schemas PUBLIC path Boost::boost)
 
 add_library(datastoreaccess STATIC
     src/datastore_access.cpp
@@ -103,14 +104,14 @@
     src/netconf_access.cpp
     )
 
-target_link_libraries(netconfaccess datastoreaccess ast_values ${LIBNETCONF2_LIBRARIES})
+target_link_libraries(netconfaccess datastoreaccess yangschema ast_values utils ${LIBNETCONF2_LIBRARIES})
 link_directories(${LIBNETCONF2_LIBRARY_DIRS})
 target_include_directories(netconfaccess SYSTEM PRIVATE ${LIBNETCONF2_INCLUDE_DIRS})
 
 add_library(yangschema STATIC
     src/yang_schema.cpp
     )
-target_link_libraries(yangschema ${LIBYANG_LIBRARIES})
+target_link_libraries(yangschema schemas ${LIBYANG_LIBRARIES})
 # Ensure that this doesn't override Boost's -isystem -- see the log for details.
 target_include_directories(yangschema SYSTEM PRIVATE ${LIBYANG_INCLUDEDIR})
 link_directories(${LIBYANG_LIBRARY_DIRS})
diff --git a/src/netconf-client.h b/src/netconf-client.h
index 8162b64..bd89e6b 100644
--- a/src/netconf-client.h
+++ b/src/netconf-client.h
@@ -26,7 +26,6 @@
 public:
     Session(struct nc_session* session);
     ~Session();
-    static std::unique_ptr<Session> viaSSH(const std::string& host, const uint16_t port, const std::string& user);
     static std::unique_ptr<Session> connectPubkey(const std::string& host, const uint16_t port, const std::string& user, const std::string& pubPath, const std::string& privPath);
     static std::unique_ptr<Session> connectSocket(const std::string& path);
     std::vector<std::string_view> capabilities() const;