From ab7434d0977ad4fba27dd0666e0cc6798d02d569 Mon Sep 17 00:00:00 2001
From: Sebastian Nickels <sn1c@protonmail.ch>
Date: Mon, 12 Aug 2019 03:26:49 +0200
Subject: [PATCH] Moved some MXNet-related code from CNNArch2X to here

---
 .../cnnarch/gluongenerator/CNNArch2Gluon.java | 23 +++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java b/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java
index e5eca30c..45477f77 100644
--- a/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java
+++ b/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java
@@ -20,15 +20,14 @@
  */
 package de.monticore.lang.monticar.cnnarch.gluongenerator;
 
-import de.monticore.lang.monticar.cnnarch._symboltable.IODeclarationSymbol;
-import de.monticore.lang.monticar.cnnarch._symboltable.VariableDeclarationSymbol;
-import de.monticore.lang.monticar.cnnarch._symboltable.VariableSymbol;
 import de.monticore.lang.monticar.cnnarch.generator.CNNArchGenerator;
 import de.monticore.lang.monticar.cnnarch.generator.Target;
 import de.monticore.lang.monticar.cnnarch.generator.TemplateConfiguration;
 
 import de.monticore.lang.monticar.cnnarch._symboltable.ArchitectureSymbol;
-import de.se_rwth.commons.logging.Log;
+import de.monticore.lang.monticar.generator.FileContent;
+import de.monticore.lang.monticar.generator.cmake.CMakeConfig;
+import de.monticore.lang.monticar.generator.cmake.CMakeFindModule;
 
 import java.util.*;
 
@@ -112,4 +111,20 @@ public class CNNArch2Gluon extends CNNArchGenerator {
                 architecture, templateConfiguration);
         return compilePythonFiles(archTc, architecture);
     }
+
+    public Map<String, String> generateCMakeContent(String rootModelName) {
+        // model name should start with a lower case letter. If it is a component, replace dot . by _
+        rootModelName = rootModelName.replace('.', '_').replace('[', '_').replace(']', '_');
+        rootModelName =  rootModelName.substring(0, 1).toLowerCase() + rootModelName.substring(1);
+
+        CMakeConfig cMakeConfig = new CMakeConfig(rootModelName);
+        cMakeConfig.addModuleDependency(new CMakeFindModule("Armadillo", true));
+        cMakeConfig.addCMakeCommand("set(LIBS ${LIBS} mxnet)");
+
+        Map<String,String> fileContentMap = new HashMap<>();
+        for (FileContent fileContent : cMakeConfig.generateCMakeFiles()){
+            fileContentMap.put(fileContent.getFileName(), fileContent.getFileContent());
+        }
+        return fileContentMap;
+    }
 }
\ No newline at end of file
-- 
GitLab