-
Notifications
You must be signed in to change notification settings - Fork 393
Dev Index
Here lies information to help developers get their systems up and running quickly.
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)
CMake (get it from ...here...)
Per operating system.
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
- 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
- Clang 3.3.x or later
- MinGW GCC 4.8.x or later: 64-bit package from MinGW-w64 is suggested
- MinGW GCC 4.9.0 appears to be working well in preliminary tests but should be considered experimental for now: GCC X.X.0 releases are not always production stable.
- Intel C++ 14.0.3 or later
- 14.0.2 could build the EnergyPlus debug build but the release build failed with ICEs on a few files.
- 15.0 seems to work fine: small numerical differences compared to 14.0 seen with release build.
- Visual C++ 2013: Bugs cause some limits with ObjexxFCL functionality and may require some work-arounds
- Update 2 (mid-May 2014 release) fixes some bugs and allows us to remove some ugly/slow work-arounds: Please install Update 2
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.
How to test the code yourself before doing a pull request.
Code is tested once a pull request is issued.
Code is tested nightly.