Difference between revisions of "DevelopmentEnvironment"
From aHuman Wiki
(Automated page entry using MWPush.pl) |
(Automated page entry using MWPush.pl) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
<pre style="color: green">Development Environment</pre> | <pre style="color: green">Development Environment</pre> | ||
@@[[Home]] -> [[DevelopmentEnvironment]] | @@[[Home]] -> [[DevelopmentEnvironment]] | ||
− | http://ahuman. | + | http://usvn.ahuman.org/svn/ahwiki/images/wiki/procedures/deathrow.jpg |
---- | ---- | ||
Latest revision as of 19:05, 28 November 2018
Development Environment
@@Home -> DevelopmentEnvironment
Contents
Overview
Project framework is based on Visual Studio 2010 Express Edition - free IDE. Subversion is used as a version control system.
How To Setup Development Environment
Finish Joining the Project quest before trying below
- Setup Visual Studio 2010 Express Edition
- Setup Subversion
- Download Sources and Build
- Run and Debug Locally
Project Structure Guidelines
- Projects are not directly dependent on each other; if dependencies exist, related interfaces and binaries are copied into target project codebase
- Virtual folders should correspond to directories, except for below cases
- if folder contains files of different types - e.g. headers and C++, then we can create virtual folders to separate these types - e.g. "include" directory
- if folder has too many files to manage - we can split files by folders (but better to split files by subdirectories as well)
- Any project contains typical directories on top level:
- src - all sources, including C/C++ headers and body files
- bin - output files should be redirected to this location
- build - intermediate files, byproducts of build
- etc - configuration files if any
- lib - used libraries
- any project is included in one or more workspaces
- project corresponds to the build target
- workspace corresponds to the deployment target and has name:
"workspace.<deployment target name>"
Upgrading the Development Environment
General IDE requirements:
- Language is not P-code like Java - these programs work in sandbox and use quite heavy runtime
- IDE is free
- Evidence of successful discussion at forum
Usign External Libraries
- for each research area support several libraries implementing related features
- each external library should have been committed as is, with all sources
- customized library should have been specifically marked in the codebase
- any external library should have wrapper code, functioning as a facade (limiting library scope to only used one and conforming interfaces to aHuman codestyle and design giudelines)
Decommissioned child pages
- Setup Microsoft Visual C++ 6.0 - stale due to migration to Codelite
- Setup Codelite - less convenient than Visual Studio