Welcome to MDE4CPP project
Further information can be found on [project site] (http://sse.tu-ilmenau.de/mde4cpp)
- Install following software:
- Eclipse Modeling Tool
- add plugin Acceleo 3
- Gradle
- MinGW with package mingw32-gcc-g++ (If you want to use prebuilt libraries, you have to use the version 5.3.0-3.)
- checkout a repository with one of the following options:
- clone [MDE4CPP] (https://github.com/MDE4CPP/MDE4CPP) respository and update submodules
- clone one or more subrepositories of MDE4CPP according to your requirements
- Open Advanced System Settings
- modify system environment variable PATH: add Gradle bin folder and MinGW bin folder
- create environment variable
MDE4CPP_ECLIPSE_HOMEwith path to root folder of Eclipse modeling Tool
- create environment variable
- create environment variable
MDE4CPP_HOMEwith path to MDE4CPP root folder (Please note, that the root folder include the subfolder "application" with- binaries inside
${MDE4CPP_HOME}/application/binand - header files inside
${MDE4CPP_HOME}/application/include/{model name}.)
- binaries inside
- If you want to use Prebuild libraries, packages are downloadable on github. Package with all libraries and header files are available at MDE4CPP repository. All C++ libraries are avaiable in
- debug version (compiler flag -g)
- release version (mostly with compiler flag O3, no debug messages).
Unpack downloaded packages into
${MDE4CPP_HOME}/application.
- If you want to build by yourself, be familar with gradle. Some basics are described below. Basic gradle tasks:
gradle tasks... list of available tasks is available.gradle projects... package overview is availablegradle help... gradle helpgradle <task name>... run task
- List of top level tasks (MDE4CPP tasks):
generateAll... create executables of all generators and build all models in debug and releasegenerateAllDebug... create executables of all generators and build all models in debuggenerateAllRelease... bcreate executables of all generators and build all models in release- use
gradle tasksto find all top level commands underMDE4CPP tasks - generator tasks:
createAllGenerators... create executables of all generatorscreate<Generator project name>... creates executable of corresponding generator, e.g. createUML4CPP
- Model tasks are names using following schema:
<command><modelName><buildType>
- commands:
build... execute commands generate and compilegenerate... generate C++ code using our generatorcompile... compile generated files
modelName... name of the model, starting with capital letterbuiltType(only available for commands build and compile)- not specified ... build debug and release version
Debug... debug version -> compiler flag -g is usedRelease... release version -> mostly with compiler flag O3, debug messages are disabled
- example:
buildEcore- generate and compile ecore.ecore in debug and releasegenerateEcore- generate C++ code for ecore.ecoregenerateEcoreDebug- not existingcompileEcoreRelease- compile generated code of ecore.ecore in release version
All binaries and header files are delivered to ${MDE4CPP_HOME}/application using the tasks.