Explorar o código

Generate datatypes for method calls only when the feature is enabled

Julius Pfrommer %!s(int64=6) %!d(string=hai) anos
pai
achega
0e7219a9a7
Modificáronse 3 ficheiros con 17 adicións e 14 borrados
  1. 11 8
      CMakeLists.txt
  2. 5 0
      tools/schema/datatypes_method.txt
  3. 1 6
      tools/schema/datatypes_minimal.txt

+ 11 - 8
CMakeLists.txt

@@ -503,7 +503,7 @@ if (UA_ENABLE_FULL_NS0)
     if(NOT UA_FILE_NS0)
         set(UA_FILE_NS0 ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml)
     endif()
-    set(UA_FILE_DATATYPES "")
+
     set(UA_FILE_NODEIDS ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/NodeIds.csv)
     set(UA_FILE_STATUSCODES ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/StatusCode.csv)
     set(UA_FILE_TYPES_BSD ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.Types.bsd)
@@ -511,21 +511,24 @@ else()
     if(NOT UA_FILE_NS0)
         set(UA_FILE_NS0 ${PROJECT_SOURCE_DIR}/tools/schema/Opc.Ua.NodeSet2.Minimal.xml)
     endif()
-    set(UA_FILE_DATATYPES "${PROJECT_SOURCE_DIR}/tools/schema/datatypes_minimal.txt")
+    set(UA_FILE_DATATYPES ${PROJECT_SOURCE_DIR}/tools/schema/datatypes_minimal.txt)
     set(UA_FILE_NODEIDS ${PROJECT_SOURCE_DIR}/tools/schema/NodeIds.csv)
     set(UA_FILE_STATUSCODES ${PROJECT_SOURCE_DIR}/tools/schema/StatusCode.csv)
     set(UA_FILE_TYPES_BSD ${PROJECT_SOURCE_DIR}/tools/schema/Opc.Ua.Types.bsd)
+
+    if(UA_ENABLE_METHODCALLS)
+        list(APPEND UA_FILE_DATATYPES ${PROJECT_SOURCE_DIR}/tools/schema/datatypes_method.txt)
+    endif()
 endif()
+
 if(NOT EXISTS "${UA_FILE_NS0}")
     message(FATAL_ERROR "File ${UA_FILE_NS0} not found. You probably need to initialize the git submodule for deps/ua-nodeset.")
 endif()
 
-
-if (UA_FILE_DATATYPES STREQUAL "")
-    set(SELECTED_TYPES_TMP "")
-else()
-  set(SELECTED_TYPES_TMP "--selected-types=${UA_FILE_DATATYPES}")
-endif()
+set(SELECTED_TYPES_TMP "")
+foreach(f ${UA_FILE_DATATYPES})
+    set(SELECTED_TYPES_TMP ${SELECTED_TYPES_TMP} "--selected-types=${f}")
+endforeach()
 
 # standard-defined data types
 add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src_generated/ua_types_generated.c

+ 5 - 0
tools/schema/datatypes_method.txt

@@ -0,0 +1,5 @@
+CallMethodRequest
+CallMethodResult
+CallResponse
+CallRequest
+Argument

+ 1 - 6
tools/schema/datatypes_minimal.txt

@@ -121,11 +121,6 @@ UserIdentityToken
 UserNameIdentityToken
 AnonymousIdentityToken
 ServiceFault
-CallMethodRequest
-CallMethodResult
-CallResponse
-CallRequest
-Argument
 FilterOperator
 ContentFilterElement
 ContentFilter
@@ -221,4 +216,4 @@ DataSetOrderingType
 DataSetFieldContentMask
 UadpDataSetMessageContentMask
 UadpNetworkMessageContentMask
-SimpleTypeDescription
+SimpleTypeDescription