bidder/ -- collection of application specific classes to support targeting
loader/ -- collection of application specific classes to support campaign loading
campaign/ -- add/modify/delete campaign API + UI ( work in progress )
[CMakeLists.txt] - cmake file
The stack of vanilla-rtb includes other C++11 projects and is referencing them via gh-subree.
To update to the latest version of boost-process , boost-dll , json-voorhees or CRUD we use the following commands :
same steps as above for linux , only difference is depending on your environment
either Visual Studio or NMake project can be used
######### for NMake ####################
cd Release
cmake -DCMAKE_BUILD_TYPE=Release .. -G "NMake Makefiles"
cd ../Debug
cmake -DCMAKE_BUILD_TYPE=Debug .. -G "NMake Makefiles"
######### for Visual Studio ############
cd Release
cmake -DCMAKE_BUILD_TYPE=Release .. -G "Visual Studio 14 2015"
cd ../Debug
cmake -DCMAKE_BUILD_TYPE=Debug .. -G "Visual Studio 14 2015"
For the reliable results it is suggested to have the build directory out of source tree.
The process involves creating a build directory, generating an Xcode project in that directory with CMake,
opening the project file generated in the build directory with Xcode, and lastly, adjusting project
settings as requried and kicking off the build.
To generate an Xcode project invoke cmake from an empty build directory with command line similar to cmake -G Xcode -DCMAKE_BUILD_TYPE=Release.
When building on Linux and Mac OS X with Make it's possible to automatically adjust the concurreny of the build using nproc command line tool that returns number of CPUs available to the Make execution context:
$ make -j $(nproc) ...
It's also possible to specifying the target Load Average with -l flag to prevent machine overloading:
$ make -l $(nproc) ...
And lastly, on Linux, it's possible to run the build with the BATCH scheduling mode (throughput oriented) as:
$ chrt --batch 0 make ...
All above considered the ultimate Make invocation combo on Linux would be something like: