-
Notifications
You must be signed in to change notification settings - Fork 62
Developer Guide
Cameron Smith edited this page Sep 22, 2017
·
7 revisions
Folks interested in contributing should check out the Issues page. There you should find some easy fixes for anyone with some C/C++ experience. Before making changes take a look at the style guide.
Additional guidelines:
- Don't break the build
- If in doubt, make a branch
- Run the ctest suite - everything must pass
- Don't try to force push to
master
ordevelop
; it is disabled
Developers should refer to this document discussing the APIs and their organization.
The software repository setup is as follows:
- Each repository has exactly two branches:
master
anddevelop
. - All developers can modify the
develop
branch at will, without restriction. - No developer may directly modify the
master
branch. - Every day, an automated process will perform regression tests on both branches, and post the results online here.
- Every day, an automated process will merge all changes
from the
develop
branch to themaster
branch if and only if the resultingmaster
regression tests pass. - A select group of Owners may modify
master
for the limited purposes of repairing the automated system.
The above text was taken from the Automation page.
We use CMake. First, read this page on the CMake build-system. Then, take a look at bob.cmake and one of the CMakeLists.txt files in sub-directory.
We use SimModSuite mostly for the interface to geometric modeling kernels. In some cases apf-sim is used and there is a much stronger dependency (mesh, fields, etc.).
- increase the max version # here: https://github.com/SCOREC/core/blob/ea65d5fb9e9c7915da289c9106d7b9f7b8c26727/cmake/FindSimModSuite.cmake#L77
- run make and ensure that there are no additional warnings/errors
- run ctest to ensure nothing is broken
- push the max version # change