Browse Source

Add cmake option for different platforms

Stefan Profanter 7 years ago
parent
commit
4da21f73c2

+ 9 - 0
CMakeLists.txt

@@ -6,6 +6,7 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/tools/cmake")
 find_package(PythonInterp REQUIRED)
 find_package(Git)
 include(AssignSourceGroup)
+include(macros)
 
 #############################
 # Compiled binaries folders #
@@ -39,6 +40,8 @@ if(NOT OPEN62541_VER_COMMIT OR OPEN62541_VER_COMMIT STREQUAL "")
     set(OPEN62541_VER_COMMIT "undefined")
 endif()
 
+add_subdirectory(plugins)
+
 #################
 # Build Options #
 #################
@@ -60,6 +63,12 @@ option(UA_ENABLE_AMALGAMATION "Concatenate the library to a single file open6254
 option(UA_ENABLE_COVERAGE "Enable gcov coverage" OFF)
 option(BUILD_SHARED_LIBS "Enable building of shared libraries (dll/so)" OFF)
 
+# Platform
+set(UA_ARCHITECTURE "None" CACHE STRING "Architecture to build open62541 on")
+GET_PROPERTY(architectures GLOBAL PROPERTY UA_ARCHITECTURES)
+list(SORT architectures)
+set_property(CACHE UA_ARCHITECTURE PROPERTY STRINGS None ${architectures})
+
 # Encryption Options
 option(UA_ENABLE_ENCRYPTION "Enable encryption support (uses mbedTLS)" OFF)
 

+ 3 - 0
plugins/CMakeLists.txt

@@ -0,0 +1,3 @@
+SET(SOURCE_GROUP plugins)
+
+add_subdirectory(arch)

+ 3 - 0
plugins/arch/CMakeLists.txt

@@ -0,0 +1,3 @@
+SET(SOURCE_GROUP ${SOURCE_GROUP}\\arch)
+
+add_subdirectory(arduino)

+ 8 - 0
plugins/arch/arduino/CMakeLists.txt

@@ -0,0 +1,8 @@
+SET(SOURCE_GROUP ${SOURCE_GROUP}\\arduino)
+
+ua_add_architecture("Arduino")
+
+if("${UA_ARCHITECTURE}" STREQUAL "Arduino")
+
+
+endif()

+ 5 - 0
tools/cmake/macros.cmake

@@ -0,0 +1,5 @@
+FUNCTION(ua_add_architecture)
+    FOREACH(ARG ${ARGV})
+        set_property(GLOBAL APPEND PROPERTY UA_ARCHITECTURES ${ARG})
+    ENDFOREACH(ARG)
+ENDFUNCTION(ua_add_architecture)