The SamplePlugin infrastructure can be utilized as a template to construct custom System Architect plugins. This repository contains basic source code and Cmake scripts necessary to construct a plugin project that builds against the CoreGen libraries.
- C++14 Compiler (LLVM/Clang and GCC are tested)
- CMake 3.4.3+
- CoreGen
The SampleTemplate infrastructure requires that the user have the
coregen-config binary in the default path. This tool (from the
CoreGen package) derives the necessary libraries and header paths
required to build external packages and/or plugins.
- Clone the SamplePlugin repository.
- Create a
builddirectory within the SamplePlugin source tree (and change to that directory) - Execute cmake to generate the target-specific makefiles
- Execute the build
An example of this process is as follows:
git clone https://github.com/opensocsysarch/SamplePlugin.git
cd SamplePlugin
mkdir build
cd build
cmake ../
make
We welcome outside contributions from corporate, acaddemic and individual developers. However, there are a number of fundamental ground rules that you must adhere to in order to participate. These rules are outlined as follows:
- All code must adhere to the existing C++ coding style. While we are somewhat flexible in basic style, you will adhere to what is currently in place. This includes camel case C++ methods and inline comments. Uncommented, complicated algorithmic constructs will be rejected.
- We support compilaton and adherence to C++11 methods. We do not currently accept C++14 and beyond.
- All new methods and variables contained within public, private and protected class methods must be commented using the existing Doxygen-style formatting. All new classes must also include Doxygen blocks in the new header files. Any pull requests that lack these features will be rejected.
- All changes to functionality and/or the API infrastructure must be accompanied by complementary tests
- All external pull requests must target the devel branch. No external pull requests will be accepted to the master branch.
- All external pull requests must contain sufficient documentation in the pull request comments in order to be accepted.
- All external pull requests that update the CoreGen IR specification or the StoneCutter language specification (et al. syntax) must contain complementary pull requests for the CoreGen IR spec or the StoneCutter language spec.
- All pull requests will be reviewed by the core development staff. Any necessary changes will be marked in the respective pull request comments. All pull requests will be tested against in the Tactical Computing Laboratories development infrastructure. This includes tests against all supported platforms. Any failures in the test infrastructure will be noted in the pull request comments.
CoreGen is licensed under an Apache-style license - see the LICENSE file for details
- John Leidel - Chief Scientist - Tactical Computing Labs
- Frank Conlon - Research Engineer - Tactical Computing Labs
- David Donofrio - Chief Hardware Architect - Tactical Computing Labs
- None at this time