Skip to content
Stuart Mentzer edited this page May 8, 2014 · 17 revisions

Developer Information

Here lies information to help developers get their systems up and running quickly.

Working with Git

Could put lots of information in here, but more likely just links. Provide a basic workflow for Windows (what client?), including branches and pull requests. Maybe a couple what-ifs (i.e., "I made changes in my local develop branch, what now?" -- stash)

Build Dependencies

CMake (get it from ...here...)

Suggested Developer Environments

Per operating system.

Suggested Compiler Configurations

Native for developers. Cross-platform GCC for testing/packaging.

General Compiler Option Notes:

  • Enable C++11 language support
  • Disable non-standard extensions
  • Disable non-serious warnings until more serious ones are fixed

Linux

  • GCC 4.8.x or later (4.7.x may work)
  • Clang 3.3.x or later: Better messages, faster compiles than GCC, builds may run a bit slower than GCC

OS X

  • Clang 3.3.x or later

Windows

  • MinGW GCC 4.8.x or later: 64-bit package from MinGW-w64 is suggested
  • Intel C++ 14.0.3 or later
  • Visual C++ 2013: Bugs cause some limits with ObjexxFCL functionality and may require some work-arounds

Testing Information

There are two classifications of tests: self-testing, and regression testing. Self-testing refers to tests that are completed for a single build. This includes unit tests on the code, and reverse-design-day testing for initialization bugs. Regression testing refers to tests that compare two different builds. This includes a regression suite of input files, and a comparison of all outputs.

Self-testing

How to test the code yourself before doing a pull request.

On-demand testing

Code is tested once a pull request is issued.

Nightly builds/testing

Code is tested nightly.

Coding Standards

Clone this wiki locally