Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This repository holds the source code, documentation and tests for the file syncing library libfilesync.

This README gives you the steps to build the library, the (unit and integration) tests and examples. You will find information regarding the project structure.

Documentation is provided in terms of UML diagrams located in the doc sub directories.

Refer to the examples for guidance on the use of this library.

Dependencies

  • libcurl

Build

Library

Build the library:

cd libfilesync
mkdir build
cd build
cmake ..
cmake --build .

Examples

Set the BUILD_EXAMPLES option to build example applications.

cd libfilesync
mkdir build
cd build
cmake -DBUILD_EXAMPLES=ON ..
cmake --build .

Tests

Set the BUILD_UNIT_TESTS and/or the BUILD_INTEGRATION_TESTS options to build tests.

cd libfilesync
mkdir build
cd build
cmake -DBUILD_UNIT_TESTS=ON -DBUILD_INTEGRATION_TESTS=ON ..
cmake --build .

Run the tests using ctest

make test

Unit test names are preceded by UT and integration test names are preceded by IT in the result view. Integration tests potentially require an available test server that must be configured in tests/config/config.h in order to run. This test server is expected to have a certain configuration (e.g. allow creation of directories, refer to the integration test objects for details).

Debug build

Use the CMAKE_BUILD_TYPE option to enable debug build.

cd libfilesync
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=DEBUG ..
cmake --build .

Directory structure

(root)
+- doc                      # Plant UML diagrams
|   +- *.puml
+- examples                 # Examples using libfilesync
|   +- example1
|       +- CMakeLists.txt
|       +- *.cpp
+- libfilesync              # File sync library
|   +- doc
|       +- *.puml           # UML diagram 
|   +- CMakeLists.txt
|   +- *.cpp
|   +- *.hpp
|   +- component1                       # File sync library component sub directory
|       +- doc
|           +- *.puml                   # UML diagram
|       +- CMakeLists.txt
|       +- *.cpp                        # Library source file
|       +- *.hpp                        # Library header file
|       +- *.tpp                        # Library template implementation file
|       +- *.test.cpp                   # Unit tests source file
|       +- *.test.hpp                   # Unit test header file
|   +- component2                       # File sync library component sub directory
|       +- doc
|           +- *.puml                   
|       +- CMakeLists.txt
|       +- *.cpp
|       +- *.hpp
|       +- *.test.cpp
|       +- *.test.hpp
+- tests                            # Integration tests
|   +- CMakeLists.txt
|   +- test1                        # Integration test sub directory
|       +- CMakeLists.txt
|       +- *.cpp                    # Integration test source file
|       +- *.hpp                    # Integration test header file
+- CMakeLists.txt

About

file sync library

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages