The cake is not a lie.
Computer Vision project.
Install dependencies:
-
OpenCV library. You can use any version from the repository for your system. On OSX you must build it yourself.
cd /tmp git clone [email protected]/Itseez/opencv.git cd opencv cmake -DCMAKE_INSTALL_PREFIX=/usr/local/Celluar/opencv make make install
Clone repository:
git clone [email protected]:it-workshop/caroline.git
Install third-party libraries.
git submodule init
git submodule update
Create build directory and walk into it.
mkdir out && chdir out
Run CMake to generate build files.
cmake ..
or, if you want to build project with ninja build system.
cmake -G Ninja ..
Probably you will need to say to the cmake location of OpenCV files:
cmake -DOpenCV_DIR=/usr/local/Celluar/opencv/share/OpenCV/ ..
Build project.
make
or
ninja
You can run unit tests.
./unit_tests
Remember to install git hooks before your first commit.
./build/install_hooks.sh
We use youtrack: http://team.technoworks.ru/.
Each tracker issue is assigned to a collaborator. The work on each feature must be subdivided into work packages (wp). Each wp has its own branch that must be merged into upstream branch after review i.e. you must create a pull request for each new work package. The branch can't be merged into the upstream if it has compilation errors or failed unit tests on any platform.
Each workpackage must be in a branch called
wp/${issue-number}/${wp-number}
. I.e. if issue CAROLINE-1357 has 3
workpackages, names of the branches would be:
wp/CAROLINE-1357/1
;wp/CAROLINE-1357/2
;wp/CAROLINE-1357/3
.
The commit messages must begin from CAROLINE-${issue-number}:
. It must be
either a single line (up to 80 characters) or multiline text with an empty
string after the first line.
The code conventions are based on the Google C++ Style guide: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
Additions:
- We use C++11.
- We use doxygen.
Each file must be started with copyright message:
// Copyright (c) 2014 The Caroline authors. All rights reserved. // Use of this source file is governed by a MIT license that can be found in the // LICENSE file. /// @author Vasya Pupkin [email protected]
Use GTest testing framework. Each unit test must be built into the unit_tests target.
Use GMock framework in the unit tests.
Currently, the project must be tested on Linux, Windows, and Mac OS X. We supported the following toolkits:
- GCC 4.8;
- CLang 3.3;
- Microsoft Visual Studio 2013.
If you need to write a script you are to use bash, perl, or python.
Development tools must be saved in the tools
directory, which you should
create in the build
directory.