|
@@ -14,20 +14,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function(ua_generate_nodeid_header)
|
|
|
set(options )
|
|
|
- set(oneValueArgs NAME ID_PREFIX OUTPUT_DIR FILE_CSV)
|
|
|
+ set(oneValueArgs NAME ID_PREFIX OUTPUT_DIR FILE_CSV TARGET_SUFFIX TARGET_PREFIX)
|
|
|
set(multiValueArgs )
|
|
|
cmake_parse_arguments(UA_GEN_ID "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
|
|
|
|
|
+ if(NOT UA_GEN_ID_TARGET_SUFFIX OR "${UA_GEN_ID_TARGET_SUFFIX}" STREQUAL "")
|
|
|
+ message(FATAL_ERROR "ua_generate_nodeid_header function requires a value for the TARGET_SUFFIX argument")
|
|
|
+ endif()
|
|
|
+
|
|
|
|
|
|
- if(NOT UA_GEN_ID_OUTPUT_DIR)
|
|
|
+ if(NOT UA_GEN_ID_OUTPUT_DIR OR "${UA_GEN_ID_OUTPUT_DIR}" STREQUAL "")
|
|
|
set(UA_GEN_ID_OUTPUT_DIR ${PROJECT_BINARY_DIR}/src_generated)
|
|
|
endif()
|
|
|
+
|
|
|
+ if(NOT UA_GEN_ID_TARGET_PREFIX OR "${UA_GEN_ID_TARGET_PREFIX}" STREQUAL "")
|
|
|
+ set(UA_GEN_ID_TARGET_PREFIX "open62541-generator")
|
|
|
+ endif()
|
|
|
+
|
|
|
+
|
|
|
+ add_custom_target(${UA_GEN_ID_TARGET_PREFIX}-${UA_GEN_ID_TARGET_SUFFIX} DEPENDS
|
|
|
+ ${UA_GEN_ID_OUTPUT_DIR}/${UA_GEN_ID_NAME}.h
|
|
|
+ )
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${UA_GEN_ID_OUTPUT_DIR}/${UA_GEN_ID_NAME}.h
|
|
@@ -64,6 +79,7 @@ endfunction()
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -80,7 +96,7 @@ endfunction()
|
|
|
|
|
|
function(ua_generate_datatypes)
|
|
|
set(options BUILTIN)
|
|
|
- set(oneValueArgs NAME TARGET_SUFFIX NAMESPACE_IDX OUTPUT_DIR FILE_CSV)
|
|
|
+ set(oneValueArgs NAME TARGET_SUFFIX TARGET_PREFIX NAMESPACE_IDX OUTPUT_DIR FILE_CSV)
|
|
|
set(multiValueArgs FILES_BSD FILES_SELECTED)
|
|
|
cmake_parse_arguments(UA_GEN_DT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
|
|
|
|
@@ -106,9 +122,14 @@ function(ua_generate_datatypes)
|
|
|
endif()
|
|
|
|
|
|
|
|
|
- if(NOT UA_GEN_DT_OUTPUT_DIR)
|
|
|
+ if(NOT UA_GEN_DT_OUTPUT_DIR OR "${UA_GEN_DT_OUTPUT_DIR}" STREQUAL "")
|
|
|
set(UA_GEN_DT_OUTPUT_DIR ${PROJECT_BINARY_DIR}/src_generated)
|
|
|
endif()
|
|
|
+
|
|
|
+ if(NOT UA_GEN_DT_TARGET_PREFIX OR "${UA_GEN_DT_TARGET_PREFIX}" STREQUAL "")
|
|
|
+ set(UA_GEN_DT_TARGET_PREFIX "open62541-generator")
|
|
|
+ endif()
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -144,7 +165,7 @@ function(ua_generate_datatypes)
|
|
|
${UA_GEN_DT_FILES_BSD}
|
|
|
${UA_GEN_DT_FILE_CSV}
|
|
|
${UA_GEN_DT_FILES_SELECTED})
|
|
|
- add_custom_target(open62541-generator-${UA_GEN_DT_TARGET_SUFFIX} DEPENDS
|
|
|
+ add_custom_target(${UA_GEN_DT_TARGET_PREFIX}-${UA_GEN_DT_TARGET_SUFFIX} DEPENDS
|
|
|
${UA_GEN_DT_OUTPUT_DIR}/${UA_GEN_DT_NAME}_generated.c
|
|
|
${UA_GEN_DT_OUTPUT_DIR}/${UA_GEN_DT_NAME}_generated.h
|
|
|
${UA_GEN_DT_OUTPUT_DIR}/${UA_GEN_DT_NAME}_generated_handling.h
|
|
@@ -186,6 +207,7 @@ endfunction()
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -198,7 +220,7 @@ endfunction()
|
|
|
function(ua_generate_nodeset)
|
|
|
|
|
|
set(options INTERNAL )
|
|
|
- set(oneValueArgs NAME TYPES_ARRAY OUTPUT_DIR ENCODE_BINARY_SIZE IGNORE)
|
|
|
+ set(oneValueArgs NAME TYPES_ARRAY OUTPUT_DIR ENCODE_BINARY_SIZE IGNORE TARGET_PREFIX)
|
|
|
set(multiValueArgs FILE DEPENDS_TYPES DEPENDS_NS DEPENDS_TARGET)
|
|
|
cmake_parse_arguments(UA_GEN_NS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
|
|
|
|
@@ -217,7 +239,7 @@ function(ua_generate_nodeset)
|
|
|
endif()
|
|
|
|
|
|
|
|
|
- if(NOT UA_GEN_NS_OUTPUT_DIR)
|
|
|
+ if(NOT UA_GEN_NS_OUTPUT_DIR OR "${UA_GEN_NS_OUTPUT_DIR}" STREQUAL "")
|
|
|
set(UA_GEN_NS_OUTPUT_DIR ${PROJECT_BINARY_DIR}/src_generated)
|
|
|
endif()
|
|
|
|
|
@@ -228,6 +250,11 @@ function(ua_generate_nodeset)
|
|
|
message(FATAL_ERROR "ua_generate_nodeset parameters DEPENDS_NS and DEPENDS_TYPES must have the same number of list elements")
|
|
|
endif()
|
|
|
|
|
|
+
|
|
|
+ if(NOT UA_GEN_NS_TARGET_PREFIX OR "${UA_GEN_NS_TARGET_PREFIX}" STREQUAL "")
|
|
|
+ set(UA_GEN_NS_TARGET_PREFIX "open62541-generator")
|
|
|
+ endif()
|
|
|
+
|
|
|
|
|
|
|
|
|
set(GEN_INTERNAL_HEADERS "")
|
|
@@ -298,12 +325,12 @@ function(ua_generate_nodeset)
|
|
|
${UA_GEN_NS_DEPENDS_NS}
|
|
|
)
|
|
|
|
|
|
- add_custom_target(open62541-generator-${TARGET_SUFFIX}
|
|
|
+ add_custom_target(${UA_GEN_NS_TARGET_PREFIX}-${TARGET_SUFFIX}
|
|
|
DEPENDS
|
|
|
${UA_GEN_NS_OUTPUT_DIR}/ua_namespace${FILE_SUFFIX}.c
|
|
|
${UA_GEN_NS_OUTPUT_DIR}/ua_namespace${FILE_SUFFIX}.h)
|
|
|
if (UA_GEN_NS_DEPENDS_TARGET)
|
|
|
- add_dependencies(open62541-generator-${TARGET_SUFFIX} ${UA_GEN_NS_DEPENDS_TARGET})
|
|
|
+ add_dependencies(${UA_GEN_NS_TARGET_PREFIX}-${TARGET_SUFFIX} ${UA_GEN_NS_DEPENDS_TARGET})
|
|
|
endif()
|
|
|
|
|
|
if(UA_COMPILE_AS_CXX)
|
|
@@ -316,7 +343,7 @@ function(ua_generate_nodeset)
|
|
|
string(TOUPPER "${UA_GEN_NS_NAME}" GEN_NAME_UPPER)
|
|
|
set(UA_NODESET_${GEN_NAME_UPPER}_SOURCES "${UA_GEN_NS_OUTPUT_DIR}/ua_namespace${FILE_SUFFIX}.c" CACHE INTERNAL "UA_NODESET_${GEN_NAME_UPPER} source files")
|
|
|
set(UA_NODESET_${GEN_NAME_UPPER}_HEADERS "${UA_GEN_NS_OUTPUT_DIR}/ua_namespace${FILE_SUFFIX}.h" CACHE INTERNAL "UA_NODESET_${GEN_NAME_UPPER} header files")
|
|
|
- set(UA_NODESET_${GEN_NAME_UPPER}_TARGET "open62541-generator-${TARGET_SUFFIX}" CACHE INTERNAL "UA_NODESET_${GEN_NAME_UPPER} target")
|
|
|
+ set(UA_NODESET_${GEN_NAME_UPPER}_TARGET "${UA_GEN_NS_TARGET_PREFIX}-${TARGET_SUFFIX}" CACHE INTERNAL "UA_NODESET_${GEN_NAME_UPPER} target")
|
|
|
|
|
|
endfunction()
|
|
|
|
|
@@ -356,6 +383,7 @@ endfunction()
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -365,11 +393,10 @@ endfunction()
|
|
|
function(ua_generate_nodeset_and_datatypes)
|
|
|
|
|
|
set(options INTERNAL)
|
|
|
- set(oneValueArgs NAME FILE_NS FILE_CSV FILE_BSD NAMESPACE_IDX OUTPUT_DIR)
|
|
|
+ set(oneValueArgs NAME FILE_NS FILE_CSV FILE_BSD NAMESPACE_IDX OUTPUT_DIR TARGET_PREFIX)
|
|
|
set(multiValueArgs DEPENDS)
|
|
|
cmake_parse_arguments(UA_GEN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
|
|
|
|
|
-
|
|
|
if(NOT DEFINED open62541_TOOLS_DIR)
|
|
|
message(FATAL_ERROR "open62541_TOOLS_DIR must point to the open62541 tools directory")
|
|
|
endif()
|
|
@@ -407,25 +434,29 @@ function(ua_generate_nodeset_and_datatypes)
|
|
|
endif()
|
|
|
|
|
|
|
|
|
- if(NOT UA_GEN_OUTPUT_DIR)
|
|
|
+ if(NOT UA_GEN_OUTPUT_DIR OR "${UA_GEN_OUTPUT_DIR}" STREQUAL "")
|
|
|
set(UA_GEN_OUTPUT_DIR ${PROJECT_BINARY_DIR}/src_generated)
|
|
|
endif()
|
|
|
+
|
|
|
+ if(NOT UA_GEN_TARGET_PREFIX OR "${UA_GEN_TARGET_PREFIX}" STREQUAL "")
|
|
|
+ set(UA_GEN_TARGET_PREFIX "open62541-generator")
|
|
|
+ endif()
|
|
|
|
|
|
set(NODESET_DEPENDS_TARGET "")
|
|
|
set(NODESET_TYPES_ARRAY "UA_TYPES")
|
|
|
|
|
|
if(NOT "${UA_GEN_FILE_BSD}" STREQUAL "")
|
|
|
|
|
|
-
|
|
|
ua_generate_datatypes(
|
|
|
NAME "ua_types_${UA_GEN_NAME}"
|
|
|
+ TARGET_PREFIX "${UA_GEN_TARGET_PREFIX}"
|
|
|
TARGET_SUFFIX "types-${UA_GEN_NAME}"
|
|
|
NAMESPACE_IDX ${UA_GEN_NAMESPACE_IDX}
|
|
|
FILE_CSV "${UA_GEN_FILE_CSV}"
|
|
|
FILES_BSD "${UA_GEN_FILE_BSD}"
|
|
|
OUTPUT_DIR "${UA_GEN_OUTPUT_DIR}"
|
|
|
)
|
|
|
- set(NODESET_DEPENDS_TARGET "open62541-generator-types-${UA_GEN_NAME}")
|
|
|
+ set(NODESET_DEPENDS_TARGET "${UA_GEN_TARGET_PREFIX}-types-${UA_GEN_NAME}")
|
|
|
set(NODESET_TYPES_ARRAY "UA_TYPES_${GEN_NAME_UPPER}")
|
|
|
|
|
|
ua_generate_nodeid_header(
|
|
@@ -433,7 +464,10 @@ function(ua_generate_nodeset_and_datatypes)
|
|
|
ID_PREFIX "${GEN_NAME_UPPER}"
|
|
|
FILE_CSV "${UA_GEN_FILE_CSV}"
|
|
|
OUTPUT_DIR "${UA_GEN_OUTPUT_DIR}"
|
|
|
+ TARGET_PREFIX "${UA_GEN_TARGET_PREFIX}"
|
|
|
+ TARGET_SUFFIX "ids-${UA_GEN_NAME}"
|
|
|
)
|
|
|
+ set(NODESET_DEPENDS_TARGET ${NODESET_DEPENDS_TARGET} "${UA_GEN_TARGET_PREFIX}-ids-${UA_GEN_NAME}")
|
|
|
endif()
|
|
|
|
|
|
|
|
@@ -450,7 +484,7 @@ function(ua_generate_nodeset_and_datatypes)
|
|
|
set(NODESET_DEPENDS ${NODESET_DEPENDS} "${DEPENDS_FILE}")
|
|
|
get_property(DEPENDS_TYPES GLOBAL PROPERTY "UA_GEN_NS_DEPENDS_TYPES_${f}")
|
|
|
set(TYPES_DEPENDS ${TYPES_DEPENDS} "${DEPENDS_TYPES}")
|
|
|
- set(NODESET_DEPENDS_TARGET ${NODESET_DEPENDS_TARGET} "open62541-generator-ns-${f}")
|
|
|
+ set(NODESET_DEPENDS_TARGET ${NODESET_DEPENDS_TARGET} "${UA_GEN_TARGET_PREFIX}-ns-${f}")
|
|
|
endforeach()
|
|
|
endif()
|
|
|
|
|
@@ -469,6 +503,7 @@ function(ua_generate_nodeset_and_datatypes)
|
|
|
DEPENDS_NS ${NODESET_DEPENDS}
|
|
|
DEPENDS_TARGET ${NODESET_DEPENDS_TARGET}
|
|
|
OUTPUT_DIR "${UA_GEN_OUTPUT_DIR}"
|
|
|
+ TARGET_PREFIX "${UA_GEN_TARGET_PREFIX}"
|
|
|
)
|
|
|
|
|
|
endfunction()
|