You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/07/05 12:51:47 UTC

[plc4x] branch feature/s7-cpp updated (0edaaff -> 41a88cc)

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a change to branch feature/s7-cpp
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


    from 0edaaff  Modify Top-Level CMakeLists
     new 135e42e  - Removed the maven sub-structure - Switched to CMake as central build system.feature/s7-cpp
     new 87b3c06  - Added missing Apache headers
     new 41a88cc  - Changed the import statement to use slashes instead of backslashes

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 plc4cpp/CMakeLists.txt                             |  12 +-
 plc4cpp/api/CMakeLists.txt                         |   2 +-
 plc4cpp/api/pom.xml                                | 144 -------------------
 plc4cpp/api/src/assembly/cpp.xml                   |  47 ------
 .../cpp/org/apache/plc4x/cpp/s7/dllexports.cpp     |  19 +++
 .../main/cpp/org/apache/plc4x/cpp/s7/dllexports.h  |  19 +++
 plc4cpp/examples/hello-world-plc4x/CMakeLists.txt  |   2 +-
 plc4cpp/examples/pom.xml                           |  55 -------
 plc4cpp/integrations/apache-mynewt/pom.xml         |  40 ------
 plc4cpp/integrations/edgex-foundry/pom.xml         |  38 -----
 plc4cpp/integrations/pom.xml                       |  40 ------
 plc4cpp/libs/boost/pom.xml                         | 158 ---------------------
 plc4cpp/libs/boost/src/assembly/cpp-windows.xml    |  47 ------
 plc4cpp/libs/boost/src/assembly/cpp.xml            |  44 ------
 plc4cpp/libs/pom.xml                               |  40 ------
 plc4cpp/pom.xml                                    |  75 ++++++++--
 plc4cpp/protocols/driver-bases/base/CMakeLists.txt |   2 +-
 plc4cpp/protocols/driver-bases/base/pom.xml        | 149 -------------------
 plc4cpp/protocols/driver-bases/pom.xml             |  40 ------
 plc4cpp/protocols/pom.xml                          |  40 ------
 plc4cpp/utils/logger/CMakeLists.txt                |   5 +-
 plc4cpp/utils/logger/pom.xml                       | 149 -------------------
 plc4cpp/utils/logger/src/assembly/cpp.xml          |  47 ------
 .../apache/plc4x/cpp/utils/logger/ErrorCategory.h  |   2 +-
 plc4cpp/utils/pom.xml                              |  41 ------
 plc4cpp/utils/systemconfig/CMakeLists.txt          |   2 +-
 26 files changed, 116 insertions(+), 1143 deletions(-)
 delete mode 100644 plc4cpp/api/pom.xml
 delete mode 100644 plc4cpp/api/src/assembly/cpp.xml
 delete mode 100644 plc4cpp/examples/pom.xml
 delete mode 100644 plc4cpp/integrations/apache-mynewt/pom.xml
 delete mode 100644 plc4cpp/integrations/edgex-foundry/pom.xml
 delete mode 100644 plc4cpp/integrations/pom.xml
 delete mode 100644 plc4cpp/libs/boost/pom.xml
 delete mode 100644 plc4cpp/libs/boost/src/assembly/cpp-windows.xml
 delete mode 100644 plc4cpp/libs/boost/src/assembly/cpp.xml
 delete mode 100644 plc4cpp/libs/pom.xml
 delete mode 100644 plc4cpp/protocols/driver-bases/base/pom.xml
 delete mode 100644 plc4cpp/protocols/driver-bases/pom.xml
 delete mode 100644 plc4cpp/protocols/pom.xml
 delete mode 100644 plc4cpp/utils/logger/pom.xml
 delete mode 100644 plc4cpp/utils/logger/src/assembly/cpp.xml
 delete mode 100644 plc4cpp/utils/pom.xml


[plc4x] 01/03: - Removed the maven sub-structure - Switched to CMake as central build system.feature/s7-cpp

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/s7-cpp
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 135e42ed0d34211fc03812f94c98aebffd37d7d0
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Jul 5 14:50:45 2019 +0200

    - Removed the maven sub-structure
    - Switched to CMake as central build system.feature/s7-cpp
---
 plc4cpp/CMakeLists.txt                             |  12 +-
 plc4cpp/api/CMakeLists.txt                         |   2 +-
 plc4cpp/api/pom.xml                                | 144 -------------------
 plc4cpp/api/src/assembly/cpp.xml                   |  47 ------
 plc4cpp/examples/hello-world-plc4x/CMakeLists.txt  |   2 +-
 plc4cpp/examples/pom.xml                           |  55 -------
 plc4cpp/integrations/apache-mynewt/pom.xml         |  40 ------
 plc4cpp/integrations/edgex-foundry/pom.xml         |  38 -----
 plc4cpp/integrations/pom.xml                       |  40 ------
 plc4cpp/libs/boost/pom.xml                         | 158 ---------------------
 plc4cpp/libs/boost/src/assembly/cpp-windows.xml    |  47 ------
 plc4cpp/libs/boost/src/assembly/cpp.xml            |  44 ------
 plc4cpp/libs/pom.xml                               |  40 ------
 plc4cpp/pom.xml                                    |  75 ++++++++--
 plc4cpp/protocols/driver-bases/base/CMakeLists.txt |   2 +-
 plc4cpp/protocols/driver-bases/base/pom.xml        | 149 -------------------
 plc4cpp/protocols/driver-bases/pom.xml             |  40 ------
 plc4cpp/protocols/pom.xml                          |  40 ------
 plc4cpp/utils/logger/CMakeLists.txt                |   5 +-
 plc4cpp/utils/logger/pom.xml                       | 149 -------------------
 plc4cpp/utils/logger/src/assembly/cpp.xml          |  47 ------
 plc4cpp/utils/pom.xml                              |  41 ------
 plc4cpp/utils/systemconfig/CMakeLists.txt          |   2 +-
 23 files changed, 77 insertions(+), 1142 deletions(-)

diff --git a/plc4cpp/CMakeLists.txt b/plc4cpp/CMakeLists.txt
index b6b6807..f880eea 100644
--- a/plc4cpp/CMakeLists.txt
+++ b/plc4cpp/CMakeLists.txt
@@ -24,19 +24,25 @@ set(CMAKE_CXX_EXTENSIONS OFF)
 
 set(PLC4CPP_ROOT_DIR ${CMAKE_SOURCE_DIR})
 
-set(BOOST_ROOT "./libs/boost/target/boost_1_70_0/")
+# Variable to help "find_package" find the root of boost.
+set(BOOST_ROOT "${PROJECT_SOURCE_DIR}/target/lib/boost/")
+set(BOOST_INCLUDEDIR "${PROJECT_SOURCE_DIR}/target/lib/boost/include/")
+set(BOOST_LIBRARYDIR "${PROJECT_SOURCE_DIR}/target/lib/boost/lib/")
+# Force CMake to use the boost version provided in BOOST_ROOT
+set(Boost_NO_SYSTEM_PATHS ON)
 set(Boost_USE_STATIC_LIBS ON)
 set(Boost_USE_MULTITHREADED ON)
+
+# Ensure the listed modules are found and environment variables for boost are set.
 find_package(Boost COMPONENTS thread date_time system regex log)
 
-#[[ Trace CMAKE Variable ]]
+# Trace all CMAKE Variables
 get_cmake_property(_variableNames VARIABLES)
 list (SORT _variableNames)
 foreach (_variableName ${_variableNames})
     message(STATUS "${_variableName}=${${_variableName}}")
 endforeach()
 
-
 #[[
     Build all the modules of PLC4Cpp
 ]]
diff --git a/plc4cpp/api/CMakeLists.txt b/plc4cpp/api/CMakeLists.txt
index 50fba7c..6ba83c5 100644
--- a/plc4cpp/api/CMakeLists.txt
+++ b/plc4cpp/api/CMakeLists.txt
@@ -74,6 +74,6 @@ add_library(plc4cpp-api
     Import the boost headers
 ]]
 
-target_include_directories (plc4cpp-api PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (plc4cpp-api PUBLIC ${BOOST_INCLUDEDIR})
 target_include_directories (plc4cpp-api PUBLIC ../utils/logger/src/main/cpp)
 
diff --git a/plc4cpp/api/pom.xml b/plc4cpp/api/pom.xml
deleted file mode 100644
index 1148ba0..0000000
--- a/plc4cpp/api/pom.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-api</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: API</name>
-  <description>Central API Module.</description>
-
-  <build>
-    <!-- This is probably not required, however it helps IntelliJ detect the files as sources -->
-    <sourceDirectory>src/main/cpp</sourceDirectory>
-
-    <plugins>
-      <!-- Get the dependencies and unpack them to the target/dependencies folder -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>unpack-dependencies</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>unpack-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>${project.build.directory}/dependencies</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>com.googlecode.cmake-maven-project</groupId>
-        <artifactId>cmake-maven-plugin</artifactId>
-        <version>3.7.2-b1</version>
-        <executions>
-          <!-- Uses a CMake generator to generate the build using the build tool of choice -->
-          <execution>
-            <id>cmake-generate</id>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>generate</goal>
-            </goals>
-            <configuration>
-              <!--
-                Actually the path to the CMakeList.txt file which then again
-                tells to tool where to find the sources.
-              -->
-              <sourcePath>${project.basedir}</sourcePath>
-              <!--
-                Path to where the build configuration is generated
-                (This directory is then used in the compile step to actually perform the build)
-              -->
-              <targetPath>${project.build.directory}/build</targetPath>
-              <!--
-                Name of the generator the compile step will be executing.
-              -->
-              <generator>${cmake.generator}</generator>
-              <!--
-                The classifier of the current platform. One of
-                [windows-x86_32, windows-x86_64, linux-x86_32, linux-x86_64, linux-arm_32, mac-x86_64].
-                It defines the version and type of the cmake installation to download.
-              -->
-              <classifier>${os.classifier}</classifier>
-            </configuration>
-          </execution>
-          <!-- Actually executes the build -->
-          <execution>
-            <id>cmake-compile</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-            <configuration>
-              <!-- The directory where the "generate" step generated the build configuration -->
-              <projectDirectory>${project.build.directory}/build</projectDirectory>
-              <classifier>${os.classifier}</classifier>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>package-cpp</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <finalName>${project.artifactId}-${project.version}</finalName>
-              <descriptors>
-                <descriptor>src/assembly/cpp.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4cpp-libs-boost</artifactId>
-      <version>0.4.0-SNAPSHOT</version>
-      <type>zip</type>
-      <classifier>cpp-${os.classifier}</classifier>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/api/src/assembly/cpp.xml b/plc4cpp/api/src/assembly/cpp.xml
deleted file mode 100644
index ced1f56..0000000
--- a/plc4cpp/api/src/assembly/cpp.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-
-  <id>cpp-${os.classifier}</id>
-
-  <formats>
-    <format>zip</format>
-  </formats>
-
-  <includeBaseDirectory>false</includeBaseDirectory>
-
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}/src/main/cpp</directory>
-      <includes>
-        <include>**/*.h</include>
-      </includes>
-      <outputDirectory>include</outputDirectory>
-    </fileSet>
-    <fileSet>
-      <directory>${project.build.directory}/build</directory>
-      <includes>
-        <include>*.a</include>
-      </includes>
-      <outputDirectory>lib</outputDirectory>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file
diff --git a/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt b/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt
index 6e79849..f729b71 100644
--- a/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt
+++ b/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt
@@ -31,7 +31,7 @@ add_executable(helloplc4x
 
 TARGET_LINK_LIBRARIES (helloplc4x ${Boost_LIBRARIES} plc4cpp-driver-s7 plc4cpp-utils-logger plc4cpp-api)
 
-target_include_directories (helloplc4x PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (helloplc4x PUBLIC ${BOOST_INCLUDEDIR})
 target_include_directories (helloplc4x PUBLIC ../../api/src/main/cpp)
 target_include_directories (helloplc4x PUBLIC ../../utils/logger/src/main/cpp)
 
diff --git a/plc4cpp/examples/pom.xml b/plc4cpp/examples/pom.xml
deleted file mode 100644
index 4751b7c..0000000
--- a/plc4cpp/examples/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <groupId>org.apache.plc4x.examples</groupId>
-  <artifactId>plc4cpp-examples</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Examples</name>
-  <description>Parent of all C++ based application example modules.</description>
-
-  <modules>
-  </modules>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <!-- No need to deploy examples in a maven repo -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/integrations/apache-mynewt/pom.xml b/plc4cpp/integrations/apache-mynewt/pom.xml
deleted file mode 100644
index 8773724..0000000
--- a/plc4cpp/integrations/apache-mynewt/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp-integrations</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-apache-mynewt</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Integrations: Apache Mynewt</name>
-  <description>Integration module for integrating PLC4X into Apache Mynewt.</description>
-
-  <modules>
-    
-  </modules>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/integrations/edgex-foundry/pom.xml b/plc4cpp/integrations/edgex-foundry/pom.xml
deleted file mode 100644
index b036617..0000000
--- a/plc4cpp/integrations/edgex-foundry/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp-integrations</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-edgex-foundry</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Integrations: EdgeX-Foundry</name>
-
-  <modules>
-  </modules>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/integrations/pom.xml b/plc4cpp/integrations/pom.xml
deleted file mode 100644
index a21c84b..0000000
--- a/plc4cpp/integrations/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-integrations</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Integrations</name>
-  <description>Parent of all product specific integration modules.</description>
-
-  <modules>
-    <module>apache-mynewt</module>
-    <module>edgex-foundry</module>
-  </modules>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/libs/boost/pom.xml b/plc4cpp/libs/boost/pom.xml
deleted file mode 100644
index fc3b772..0000000
--- a/plc4cpp/libs/boost/pom.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp-libs</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-libs-boost</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Libs: Boost</name>
-  <description>Build the boost library.</description>
-
-  <properties>
-    <assembly.file>cpp.xml</assembly.file>
-  </properties>
-
-  <!--
-    The boost build for windows adds a strange additional directory,
-    so we need to use a special assembly to package this.
-  -->
-  <profiles>
-    <profile>
-      <id>windows</id>
-      <activation>
-        <os>
-          <family>windows</family>
-        </os>
-      </activation>
-      <properties>
-        <assembly.file>cpp-windows.xml</assembly.file>
-      </properties>
-    </profile>
-  </profiles>
-
-  <!--
-    Project for building platform dependent versions of the base-libs used by the plc4cpp modules.
-    As building these libraries usually takes quite a lot of time, they are being built in the
-    normal "target" directory, however the finished libs are installed in a "libs" directory.
-
-    This is done to prevent the libs from being cleaned every time.
-  -->
-  <build>
-    <plugins>
-      <!-- First download the sources for building the boost library -->
-      <plugin>
-        <groupId>com.googlecode.maven-download-plugin</groupId>
-        <artifactId>download-maven-plugin</artifactId>
-        <version>1.4.0</version>
-        <executions>
-          <execution>
-            <id>get-boost</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>wget</goal>
-            </goals>
-            <configuration>
-              <url>${boost.url}</url>
-              <unpack>true</unpack>
-              <outputDirectory>${project.build.directory}</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <!--
-        Then execute two build phases:
-
-        1) bootstrap the build
-        2) Perform the actual build and install
-      -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.6.0</version>
-        <executions>
-          <execution>
-            <id>bootstrap</id>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>exec</goal>
-            </goals>
-            <configuration>
-              <executable>${boost.bootstrap.executable}</executable>
-              <arguments>
-                <argument>gcc</argument>
-              </arguments>
-              <workingDirectory>${project.build.directory}/boost_${boost.version.underline}</workingDirectory>
-            </configuration>
-          </execution>
-          <execution>
-            <id>compile</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>exec</goal>
-            </goals>
-            <configuration>
-              <executable>${boost.build.executable}</executable>
-              <arguments>
-                <!-- Have the build install the built libraries -->
-                <argument>install</argument>
-                <!-- Tell it where to install the libraries and header files -->
-                <argument>--prefix=${project.build.directory}/install</argument>
-                <!-- List of modules to build (Currently only the 'system' module -->
-                <argument>--with-system</argument>
-                <!-- On Windows machines the build failed, if this was not explicitly set -->
-                <argument>address-model=64</argument>
-              </arguments>
-              <workingDirectory>${project.build.directory}/boost_${boost.version.underline}</workingDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>package-cpp</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <finalName>${project.artifactId}-${project.version}</finalName>
-              <descriptors>
-                <descriptor>src/assembly/${assembly.file}</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/libs/boost/src/assembly/cpp-windows.xml b/plc4cpp/libs/boost/src/assembly/cpp-windows.xml
deleted file mode 100644
index 658767e..0000000
--- a/plc4cpp/libs/boost/src/assembly/cpp-windows.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-
-  <id>cpp-${os.classifier}</id>
-
-  <formats>
-    <format>zip</format>
-  </formats>
-
-  <includeBaseDirectory>false</includeBaseDirectory>
-
-  <fileSets>
-    <fileSet>
-      <directory>${project.build.directory}/install/include/boost-${boost.version.underline-short}</directory>
-      <includes>
-        <include>**</include>
-      </includes>
-      <outputDirectory>include</outputDirectory>
-    </fileSet>
-    <fileSet>
-      <directory>${project.build.directory}/install/lib</directory>
-      <includes>
-        <include>*.a</include>
-      </includes>
-      <outputDirectory>lib</outputDirectory>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file
diff --git a/plc4cpp/libs/boost/src/assembly/cpp.xml b/plc4cpp/libs/boost/src/assembly/cpp.xml
deleted file mode 100644
index 96bb160..0000000
--- a/plc4cpp/libs/boost/src/assembly/cpp.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-
-  <id>cpp-${os.classifier}</id>
-
-  <formats>
-    <format>zip</format>
-  </formats>
-
-  <includeBaseDirectory>false</includeBaseDirectory>
-
-  <fileSets>
-    <fileSet>
-      <directory>${project.build.directory}/install</directory>
-      <includes>
-        <!--include>**/*.hpp</include>
-        <include>**/*.a</include>
-        <include>**/*.dylib</include>
-        <include>**/*.so*</include-->
-        <include>**</include>
-      </includes>
-      <outputDirectory/>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file
diff --git a/plc4cpp/libs/pom.xml b/plc4cpp/libs/pom.xml
deleted file mode 100644
index e72d7d9..0000000
--- a/plc4cpp/libs/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-libs</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Libs</name>
-  <description>Wrapper project for PLC4Cpp third party libs.</description>
-
-  <modules>
-    <module>boost</module>
-  </modules>
-
-</project>
diff --git a/plc4cpp/pom.xml b/plc4cpp/pom.xml
index 236e1c0..06ed7dc 100644
--- a/plc4cpp/pom.xml
+++ b/plc4cpp/pom.xml
@@ -38,20 +38,71 @@
     <sonar.language>c++</sonar.language>
   </properties-->
 
-  <modules>
-    <module>api</module>
-    <module>protocols</module>
-    <module>utils</module>
-
-    <module>examples</module>
-    <module>integrations</module>
-
-    <!-- Third party libs -->
-    <module>libs</module>
-  </modules>
-
   <build>
     <plugins>
+      <plugin>
+        <groupId>com.googlecode.cmake-maven-project</groupId>
+        <artifactId>cmake-maven-plugin</artifactId>
+        <version>3.7.2-b1</version>
+        <executions>
+          <!-- Uses a CMake generator to generate the build using the build tool of choice -->
+          <execution>
+            <id>cmake-generate</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <!--
+                Actually the path to the CMakeList.txt file which then again
+                tells to tool where to find the sources.
+              -->
+              <sourcePath>${project.basedir}</sourcePath>
+              <!--
+                Path to where the build configuration is generated
+                (This directory is then used in the compile step to actually perform the build)
+              -->
+              <targetPath>${project.build.directory}/build</targetPath>
+              <!--
+                Name of the generator the compile step will be executing.
+              -->
+              <generator>${cmake.generator}</generator>
+              <!--
+                The classifier of the current platform. One of
+                [windows-x86_32, windows-x86_64, linux-x86_32, linux-x86_64, linux-arm_32, mac-x86_64].
+                It defines the version and type of the cmake installation to download.
+              -->
+              <classifier>${os.classifier}</classifier>
+              <environmentVariables>
+                <BOOST_ROOT>${project.build.directory}/lib</BOOST_ROOT>
+                <BOOST_INCLUDEDIR>${project.build.directory}/lib/boost/includes</BOOST_INCLUDEDIR>
+                <BOOST_LIBRARYDIR>${project.build.directory}/lib/boost/lib</BOOST_LIBRARYDIR>
+                <Boost_NO_SYSTEM_PATHS>ON</Boost_NO_SYSTEM_PATHS>
+              </environmentVariables>
+            </configuration>
+          </execution>
+          <!-- Actually executes the build -->
+          <execution>
+            <id>cmake-compile</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+            <configuration>
+              <!-- The directory where the "generate" step generated the build configuration -->
+              <projectDirectory>${project.build.directory}/build</projectDirectory>
+              <classifier>${os.classifier}</classifier>
+              <environmentVariables>
+                <BOOST_ROOT>${project.build.directory}/lib</BOOST_ROOT>
+                <BOOST_INCLUDEDIR>${project.build.directory}/lib/boost/includes</BOOST_INCLUDEDIR>
+                <BOOST_LIBRARYDIR>${project.build.directory}/lib/boost/lib</BOOST_LIBRARYDIR>
+                <Boost_NO_SYSTEM_PATHS>ON</Boost_NO_SYSTEM_PATHS>
+              </environmentVariables>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
       <!-- Prevent the jar plugin from building a jar -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
diff --git a/plc4cpp/protocols/driver-bases/base/CMakeLists.txt b/plc4cpp/protocols/driver-bases/base/CMakeLists.txt
index 310ca0d..e4b141d 100644
--- a/plc4cpp/protocols/driver-bases/base/CMakeLists.txt
+++ b/plc4cpp/protocols/driver-bases/base/CMakeLists.txt
@@ -65,7 +65,7 @@ add_library(plc4cpp-protocols-driver-base-base
     Import the headers for boost and the plc4cpp-api module
 ]]
 
-target_include_directories (plc4cpp-protocols-driver-base-base PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (plc4cpp-protocols-driver-base-base PUBLIC ${BOOST_INCLUDEDIR})
 target_include_directories (plc4cpp-protocols-driver-base-base PUBLIC ../../../api/src/main/cpp)
 target_include_directories (plc4cpp-protocols-driver-base-base PUBLIC ../../../protocols/driver-bases/base/src/main/cpp)
 target_include_directories (plc4cpp-protocols-driver-base-base PUBLIC ../../../utils/logger/src/main/cpp)
diff --git a/plc4cpp/protocols/driver-bases/base/pom.xml b/plc4cpp/protocols/driver-bases/base/pom.xml
deleted file mode 100644
index a4a98f9..0000000
--- a/plc4cpp/protocols/driver-bases/base/pom.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp-protocols-driver-bases</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-protocols-driver-base-base</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Protocols: Driver-Base: Base</name>
-  <description>Base classes needed to implement all of the other driver bases.</description>
-
-  <build>
-    <!-- This is probably not required, however it helps IntelliJ detect the files as sources -->
-    <sourceDirectory>src/main/cpp</sourceDirectory>
-    <plugins>
-      <!-- Get the dependencies and unpack them to the target/dependencies folder -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>unpack-dependencies</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>unpack-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>${project.build.directory}/dependencies</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>com.googlecode.cmake-maven-project</groupId>
-        <artifactId>cmake-maven-plugin</artifactId>
-        <version>3.7.2-b1</version>
-        <executions>
-          <!-- Uses a CMake generator to generate the build using the build tool of choice -->
-          <execution>
-            <id>cmake-generate</id>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>generate</goal>
-            </goals>
-            <configuration>
-              <!--
-                Actually the path to the CMakeList.txt file which then again
-                tells to tool where to find the sources.
-              -->
-              <sourcePath>${project.basedir}</sourcePath>
-              <!--
-                Path to where the build configuration is generated
-                (This directory is then used in the compile step to actually perform the build)
-              -->
-              <targetPath>${project.build.directory}/build</targetPath>
-              <!--
-                Name of the generator the compile step will be executing.
-              -->
-              <generator>${cmake.generator}</generator>
-              <!--
-                The classifier of the current platform. One of
-                [windows-x86_32, windows-x86_64, linux-x86_32, linux-x86_64, linux-arm_32, mac-x86_64].
-                It defines the version and type of the cmake installation to download.
-              -->
-              <classifier>${os.classifier}</classifier>
-            </configuration>
-          </execution>
-          <!-- Actually executes the build -->
-          <execution>
-            <id>cmake-compile</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-            <configuration>
-              <!-- The directory where the "generate" step generated the build configuration -->
-              <projectDirectory>${project.build.directory}/build</projectDirectory>
-              <classifier>${os.classifier}</classifier>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>package-cpp</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <finalName>${project.artifactId}-${project.version}</finalName>
-              <descriptors>
-                <descriptor>src/assembly/cpp.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4cpp-api</artifactId>
-      <version>0.4.0-SNAPSHOT</version>
-      <type>zip</type>
-      <classifier>cpp-${os.classifier}</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4cpp-libs-boost</artifactId>
-      <version>0.4.0-SNAPSHOT</version>
-      <type>zip</type>
-      <classifier>cpp-${os.classifier}</classifier>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/protocols/driver-bases/pom.xml b/plc4cpp/protocols/driver-bases/pom.xml
deleted file mode 100644
index e172ea8..0000000
--- a/plc4cpp/protocols/driver-bases/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp-protocols</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-protocols-driver-bases</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Protocols: Driver-Bases</name>
-  <description>Collection of base-types for implementing different types of drivers.</description>
-
-  <modules>
-    <module>base</module>
-  </modules>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/protocols/pom.xml b/plc4cpp/protocols/pom.xml
deleted file mode 100644
index 090eaf0..0000000
--- a/plc4cpp/protocols/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-protocols</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Protocols</name>
-  <description>Wrapper project for all PLC4Cpp protocol implementations.</description>
-
-  <modules>
-    <module>driver-bases</module>
-  </modules>
-
-</project>
diff --git a/plc4cpp/utils/logger/CMakeLists.txt b/plc4cpp/utils/logger/CMakeLists.txt
index 866ce1f..bf18472 100644
--- a/plc4cpp/utils/logger/CMakeLists.txt
+++ b/plc4cpp/utils/logger/CMakeLists.txt
@@ -31,11 +31,8 @@ add_library(plc4cpp-utils-logger
 		src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.cpp
         )
 
-#[[
-    Import the headers for boost and the plc4cpp-utils module
-]]
 
 TARGET_LINK_LIBRARIES (plc4cpp-utils-logger ${Boost_LIBRARIES})
 
-target_include_directories (plc4cpp-utils-logger PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (plc4cpp-utils-logger PUBLIC ${BOOST_INCLUDEDIR})
 
diff --git a/plc4cpp/utils/logger/pom.xml b/plc4cpp/utils/logger/pom.xml
deleted file mode 100644
index 0f8dfe9..0000000
--- a/plc4cpp/utils/logger/pom.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-utils-logger</artifactId>
-
-  <name>PLC4Cpp: Utils: Logger</name>
-
-  <build>
-    <!-- This is probably not required, however it helps IntelliJ detect the files as sources -->
-    <sourceDirectory>src/main/cpp</sourceDirectory>
-
-    <plugins>
-      <!-- Get the dependencies and unpack them to the target/dependencies folder -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>unpack-dependencies</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>unpack-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>${project.build.directory}/dependencies</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>com.googlecode.cmake-maven-project</groupId>
-        <artifactId>cmake-maven-plugin</artifactId>
-        <version>3.7.2-b1</version>
-        <executions>
-          <!-- Uses a CMake generator to generate the build using the build tool of choice -->
-          <execution>
-            <id>cmake-generate</id>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>generate</goal>
-            </goals>
-            <configuration>
-              <!--
-                Actually the path to the CMakeList.txt file which then again
-                tells to tool where to find the sources.
-              -->
-              <sourcePath>${project.basedir}</sourcePath>
-              <!--
-                Path to where the build configuration is generated
-                (This directory is then used in the compile step to actually perform the build)
-              -->
-              <targetPath>${project.build.directory}/build</targetPath>
-              <!--
-                Name of the generator the compile step will be executing.
-              -->
-              <generator>${cmake.generator}</generator>
-              <!--
-                The classifier of the current platform. One of
-                [windows-x86_32, windows-x86_64, linux-x86_32, linux-x86_64, linux-arm_32, mac-x86_64].
-                It defines the version and type of the cmake installation to download.
-              -->
-              <classifier>${os.classifier}</classifier>
-            </configuration>
-          </execution>
-          <!-- Actually executes the build -->
-          <execution>
-            <id>cmake-compile</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-            <configuration>
-              <!-- The directory where the "generate" step generated the build configuration -->
-              <projectDirectory>${project.build.directory}/build</projectDirectory>
-              <classifier>${os.classifier}</classifier>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>3.1.1</version>
-        <executions>
-          <execution>
-            <id>package-thrift-cpp</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <finalName>${project.artifactId}-${project.version}</finalName>
-              <descriptors>
-                <descriptor>src/assembly/cpp.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4cpp-api</artifactId>
-      <version>0.4.0-SNAPSHOT</version>
-      <type>zip</type>
-      <classifier>cpp-${os.classifier}</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4x-tools-boost</artifactId>
-      <version>0.4.0-SNAPSHOT</version>
-      <type>zip</type>
-      <classifier>cpp-${os.classifier}</classifier>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/plc4cpp/utils/logger/src/assembly/cpp.xml b/plc4cpp/utils/logger/src/assembly/cpp.xml
deleted file mode 100644
index ced1f56..0000000
--- a/plc4cpp/utils/logger/src/assembly/cpp.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-
-  <id>cpp-${os.classifier}</id>
-
-  <formats>
-    <format>zip</format>
-  </formats>
-
-  <includeBaseDirectory>false</includeBaseDirectory>
-
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}/src/main/cpp</directory>
-      <includes>
-        <include>**/*.h</include>
-      </includes>
-      <outputDirectory>include</outputDirectory>
-    </fileSet>
-    <fileSet>
-      <directory>${project.build.directory}/build</directory>
-      <includes>
-        <include>*.a</include>
-      </includes>
-      <outputDirectory>lib</outputDirectory>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file
diff --git a/plc4cpp/utils/pom.xml b/plc4cpp/utils/pom.xml
deleted file mode 100644
index 1fc2ab4..0000000
--- a/plc4cpp/utils/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4cpp</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4cpp-utils</artifactId>
-  <packaging>pom</packaging>
-
-  <name>PLC4Cpp: Utils</name>
-  <description>Wrapper project for PLC4Cpp protocol utilities.</description>
-
-  <modules>
-    <!-- Disabled for now till we figure out the reason for a compile error -->
-    <!--module>logger</module-->
-  </modules>
-
-</project>
diff --git a/plc4cpp/utils/systemconfig/CMakeLists.txt b/plc4cpp/utils/systemconfig/CMakeLists.txt
index 1ba866b..6e1e519 100644
--- a/plc4cpp/utils/systemconfig/CMakeLists.txt
+++ b/plc4cpp/utils/systemconfig/CMakeLists.txt
@@ -30,4 +30,4 @@ add_library(plc4cpp-utils-systemconfig
     Import the headers for boost and the plc4cpp-utils module
 ]]
 
-target_include_directories (plc4cpp-utils-systemconfig PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (plc4cpp-utils-systemconfig PUBLIC ${BOOST_INCLUDEDIR})


[plc4x] 02/03: - Added missing Apache headers

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/s7-cpp
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 87b3c063772f6c77b7e77342c581446db279b3f9
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Jul 5 14:51:05 2019 +0200

    - Added missing Apache headers
---
 .../main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp   | 19 +++++++++++++++++++
 .../src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h | 19 +++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp b/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp
index 1037feb..baac7e7 100644
--- a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp
+++ b/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp
@@ -1,3 +1,22 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
 //-------- DllMain.cpp --------//
 #define __dll__
 #include "DllExports.h"
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h b/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h
index a1de274..91ece6d 100644
--- a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h
+++ b/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h
@@ -1,3 +1,22 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
 //-------- DllExports.h --------//
 #ifndef _DLLEXPORTS_H
 #define _DLLEXPORTS_H


[plc4x] 03/03: - Changed the import statement to use slashes instead of backslashes

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/s7-cpp
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 41a88cc415cbe0030ff1693bc783e72f9d04e5c5
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Jul 5 14:51:32 2019 +0200

    - Changed the import statement to use slashes instead of backslashes
---
 .../src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h b/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
index 65abd48..ae55c83 100644
--- a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
+++ b/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
@@ -20,7 +20,7 @@ under the License.
 #ifndef _ERRORCATEGORY_H_
 #define _ERRORCATEGORY_H_
 
-#include <boost\system\error_code.hpp>
+#include <boost/system/error_code.hpp>
 #include <string>
 
 namespace org