From cdc02390261c96767258246c964a5bef15bca0d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20Zbyszy=C5=84ski?= <m.zbyszynski@gold.ac.uk>
Date: Mon, 20 Nov 2017 17:46:23 +0000
Subject: [PATCH] working on cmake includes. JSON failing

---
 CMakeLists.txt                            | 25 +++++++++++++++++++++--
 rapidmixCMake.cpp                         | 20 +++++++++++++++++-
 src/machineLearning/machineLearning.h     |  4 ++--
 src/machineLearning/rapidGVF/rapidGVF.cpp |  2 +-
 src/machineLearning/rapidXMM/rapidXMM.cpp |  4 ++--
 src/machineLearning/trainingData.h        |  2 +-
 src/signalProcessing/signalProcessing.h   |  2 +-
 7 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e53d308..1d159ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,28 @@ set (rapidmix_VERSION_MINOR 0)
 set(CMAKE_CXX_STANDARD 11)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
-include_directories(src)
+# Main lib
+include_directories(${PROJECT_SOURCE_DIR}/src)
 
-add_executable(rapidmix rapidmixCMake.cpp )
+# RAPID-MIX dependencies
+include_directories(dependencies/RapidLib/src)
+include_directories(dependencies/xmm/src)
+include_directories(dependencies/GVF)
+include_directories(dependencies/Maximilian)
+include_directories(dependencies/Maximilian/libs)
+include_directories(dependencies/pipo/src/include)
+include_directories(dependencies/pipo/src/host)
+
+# Third party dependencies
+include_directories(dependencies/third_party/json)
+
+file(GLOB_RECURSE RM_SOURCES "${PROJECT_SOURCE_DIR}/src/*.cpp")
+file(GLOB JSON_SRC "${PROJECT_SOURCE_DIR}/dependencies/third_party/json.cpp")
 
+#Set the source for the main library, using the groups defined above
+set(RAPIDMIX_SRC ${RM_SOURCES} ${JSON_SRC})
+
+add_library(RMIX ${RAPIDMIX_SRC})
+
+add_executable(rapidmix rapidmixCMake.cpp )
+target_link_libraries(rapidmix RMIX)
diff --git a/rapidmixCMake.cpp b/rapidmixCMake.cpp
index be3c0d7..024fdab 100644
--- a/rapidmixCMake.cpp
+++ b/rapidmixCMake.cpp
@@ -1,6 +1,24 @@
+#include <cassert>
+#include <vector>
 #include "rapidmix.h"
 
 int main() {
-    
+
+  //rapidmix::staticRegression myNN;
+  rapidmix::trainingData myData;
+  
+  std::vector<double> input = { 0.2, 0.7 };
+  std::vector<double> output = { 3.0 };  
+  myData.recordSingleElement("label", input, output);
+
+  input = { 2.0, 44.2 };
+  output = { 20.14 };
+  myData.recordSingleElement("label", input, output);
+        
+  //myNN.train(myData);
+  
+  std::vector<double> inputVec = { 1.618, 18.9 };       
+  //assert(myNN.run(inputVec)[0] == 12.596715279688549);
+  
   return 0;
 }
diff --git a/src/machineLearning/machineLearning.h b/src/machineLearning/machineLearning.h
index 70a78f5..2594f78 100644
--- a/src/machineLearning/machineLearning.h
+++ b/src/machineLearning/machineLearning.h
@@ -16,8 +16,8 @@
 #include "classification.h"
 #include "regression.h"
 #include "seriesClassification.h"
-#include "rapidXMM.h"
-#include "rapidGVF.h"
+#include "./rapidXMM/rapidXMM.h"
+#include "./rapidGVF/rapidGVF.h"
 
 namespace rapidmix {
     
diff --git a/src/machineLearning/rapidGVF/rapidGVF.cpp b/src/machineLearning/rapidGVF/rapidGVF.cpp
index 1f051fd..adccd07 100644
--- a/src/machineLearning/rapidGVF/rapidGVF.cpp
+++ b/src/machineLearning/rapidGVF/rapidGVF.cpp
@@ -6,7 +6,7 @@
 //
 
 #include "rapidGVF.h"
-#include "trainingData.h"
+#include "../trainingData.h"
 
 rapidGVF::rapidGVF()
 {
diff --git a/src/machineLearning/rapidXMM/rapidXMM.cpp b/src/machineLearning/rapidXMM/rapidXMM.cpp
index 799a429..a65780e 100644
--- a/src/machineLearning/rapidXMM/rapidXMM.cpp
+++ b/src/machineLearning/rapidXMM/rapidXMM.cpp
@@ -1,6 +1,6 @@
 #include "rapidXMM.h"
-#include "trainingData.h"
-#include "machineLearning.h"
+#include "../trainingData.h"
+#include "../machineLearning.h"
 
 static bool trainingData2xmmTrainingSet(const rapidmix::trainingData& data, xmm::TrainingSet& set) {
   if (data.trainingSet.size() < 1) {
diff --git a/src/machineLearning/trainingData.h b/src/machineLearning/trainingData.h
index 67f4a67..6645b4a 100644
--- a/src/machineLearning/trainingData.h
+++ b/src/machineLearning/trainingData.h
@@ -48,7 +48,7 @@ namespace rapidmix {
 //                tempElement.uniqueId = assignCurrentId();  //TODO: how to do this? Do we need this?
                 tempElement.input = input;
                 tempElement.output = output;
-                tempElement.timeStamp = NULL;
+                //tempElement.timeStamp = NULL;
                 this->elements.push_back(tempElement);
             }
         };
diff --git a/src/signalProcessing/signalProcessing.h b/src/signalProcessing/signalProcessing.h
index 887664f..ac2e02f 100644
--- a/src/signalProcessing/signalProcessing.h
+++ b/src/signalProcessing/signalProcessing.h
@@ -15,7 +15,7 @@
 #include "maximilian.h"
 #include "maxim.h"
 #include "rapidStream.h"
-#include "rapidPiPoTools.h"
+#include "./rapidPiPoTools/rapidPiPoTools.h"
 
 namespace rapidmix {
     
-- 
GitLab