Code Monkey home page Code Monkey logo

odatacpp-server's Introduction

Welcome to ODataCpp-Server

ODataCpp is an open-source C++ library that implements the Open Data Protocol (OData). It supports the OData protocol version 4.0. This is the server library that helps you build OData V4 service with C++.

Getting started

Getting the source

git clone https://github.com/odata/odatacpp-server

Building and testing

Currently the following target platforms are supported:

  • Windows 32-bit
  • OS X
  • Linux

Building on Windows with Visual Studio 2012/2013

1.Please ensure that you have Visual Studio 2012/2013 installed.

2.Open 'odatacpp.sln' under 'odatacpp-server\msvc' with VS2012/VS2013 and click 'Build Solution' in the 'BUILD' menu.

3.Built libraries are placed under 'odatacpp-server\output\<Configuration>' where '<Configuration>' could be either 'Debug' or 'Release' according to your build configuration in VS2012/VS2013.

Building on Windows with MSBuild

1.Setup build environment for VS2012/VS2013:

cd odatacpp-server
powershell
.\setup_ps_env_VS2012.ps1 (or .\setup_ps_env_VS2013.ps1)

If you receive an error message like 'running scripts is disabled on this system', please run PowerShell as administrator, type the following command, and then rerun the setup script above.

Set-ExecutionPolicy RemoteSigned

2.Here are some examples to invoke MSBuild:

  1. Build Debug version of ODataCpp-Server libraries in parallel.
msbuild /m
  1. Build Release version of ODataCpp-Server libraries.
msbuild /p:Configuration=Release
  1. Rebuild Debug version of ODataCpp-Server.
msbuild /t:Rebuild /p:Configuration=Debug
  1. Clean build outputs.
msbuild /t:Clean

3.Built libraries are placed under the same folder of VS2012/VS2013. Actually they are no different than the ones built by VS2012/VS2013.

Running tests on Windows

1.After you have successfully built the libraries, you can run our functional tests to check the basic functionality.

  1. Test the Debug version of ODataCpp-Server Libraries:
cd odatacpp-server\output\Debug
TestRunner.exe odata_functional_test.vs11d.dll /Desktop
  1. Test the Release version of ODataCpp-Server Libraries:
cd odatacpp\output\Release
TestRunner.exe odata_functional_test.vs11.dll /Desktop

The '/Desktop' option here indicates to run tests for desktop (rather than rt).

Building on OS X

1.Please ensure that you have OS X later than 10.9, Xcode later than 5.0 and Xcode Command Line Tools installed.

2.Install the Homebrew package manager (http://brew.sh). Skip this step if you want to use your own package manager.

3.Install the required packages to build ODataCpp-Server via Homebrew or your own package manager.

brew install cmake boost

4.Return to the root folder of ODataCpp-Server and generate 'Makefile' using CMake.

cmake -DCMAKE_BUILD_TYPE=Debug # replace 'Debug' with 'Release' if needed
make

5.Please find your built libraries under 'output'.

Running tests on OS X

After successfully building the libraries, you can run the functional and end-to-end tests via the terminal.

cd odatacpp-server/output
./test_runner *tests*

Building on Linux

1.This document is based on Ubuntu 14.04 LTS 64-bit. Process on other Linux distributions should be similar.

2.Install the required packages to build ODataCpp-Server via apt-get or your own package manager.

sudo apt-get install cmake libxml2 libxml2-dev libboost1.55-dev libboost-system1.55.0 libboost-system1.55-dev libboost-locale1.55.0 libboost-locale1.55-dev libboost-filesystem1.55.0 libboost-filesystem1.55-dev

You can choose other versions of boost to install but they are not guaranteed to work.

3.Return to the root folder of ODataCpp-Server and generate 'Makefile' using CMake.

cmake -DCMAKE_BUILD_TYPE=Debug # replace 'Debug' with 'Release' if needed
make # don't build in parallel because gcc will be very likely to crash

4.Please find your built libraries under 'output'.

Running tests on Linux

After successfully building the libraries, you can run the functional and end-to-end tests via the terminal.

cd odatacpp-server/output
./test_runner *tests*

Community

Issue tracker

To report bugs and require features, please use our issue tracker.

Team blog

Please visit http://blogs.msdn.com/b/odatateam/.

odatacpp-server's People

Contributors

cberge avatar deleisha avatar lewischeng-ms avatar maximkalininms avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.