Implement SysrepoAccess

The class is currently only able to set leaf values and create and
delete presence containers.

Change-Id: I3b187fa359a766a7bec2da5772e50ebb6bde7b15
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d71ccd..702ccb8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,6 +53,7 @@
 
 find_package(PkgConfig)
 pkg_check_modules(LIBYANG REQUIRED libyang-cpp>=0.15.111)
+pkg_check_modules(SYSREPO REQUIRED libSysrepo-cpp>=0.7.3)
 
 # we don't need filename tracking, and we prefer to use header-only Boost
 add_definitions(-DBOOST_SPIRIT_X3_NO_FILESYSTEM)
@@ -68,6 +69,13 @@
     )
 target_link_libraries(datastoreaccess PUBLIC Boost::boost)
 
+add_library(sysrepoaccess STATIC
+    src/sysrepo_access.cpp
+    )
+target_link_libraries(sysrepoaccess datastoreaccess ${SYSREPO_LIBRARIES})
+link_directories(${SYSREPO_LIBRARY_DIRS})
+target_include_directories(sysrepoaccess SYSTEM PRIVATE ${SYSREPO_INCLUDE_DIRS})
+
 add_library(yangschema STATIC
     src/yang_schema.cpp
     )
@@ -89,7 +97,7 @@
 add_executable(netconf-cli
     src/main.cpp
     )
-target_link_libraries(netconf-cli yangschema docopt parser)
+target_link_libraries(netconf-cli sysrepoaccess yangschema docopt parser)
 if(CMAKE_CXX_FLAGS MATCHES "-stdlib=libc\\+\\+")
     target_link_libraries(netconf-cli c++experimental)
 else()