Przeglądaj źródła

getting nodeset example to work in msvs, based on 824f7b8eb0240290329b7a929fd33041fc3645e4 by @joerg555 and 7328cd72c1fb05e3b8fa9ed3646f0f7d56697aee by @jpfr

Stasik0 9 lat temu
rodzic
commit
4b162f0be5
3 zmienionych plików z 19 dodań i 14 usunięć
  1. 13 13
      CMakeLists.txt
  2. 5 0
      include/ua_config.h.in
  3. 1 1
      tools/pyUANamespace/ua_namespace.py

+ 13 - 13
CMakeLists.txt

@@ -410,20 +410,20 @@ if(BUILD_EXAMPLES)
 	add_executable(server_repeated_job ${PROJECT_SOURCE_DIR}/examples/server_repeated_job.c $<TARGET_OBJECTS:open62541-object>)
 	target_link_libraries(server_repeated_job ${LIBS})
 
-	if(NOT ENABLE_AMALGAMATION AND NOT MSVC)
+	if(NOT ENABLE_AMALGAMATION)
 		add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src_generated/nodeset.h ${PROJECT_BINARY_DIR}/src_generated/nodeset.c
-				       PRE_BUILD
-				       COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/generate_open62541CCode.py -i ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/NodeID_Blacklist_FullNS0.txt ${PROJECT_SOURCE_DIR}/tools/schema/namespace0/Opc.Ua.NodeSet2.xml ${PROJECT_SOURCE_DIR}/examples/server_nodeset.xml ${PROJECT_BINARY_DIR}/src_generated/nodeset
-				       DEPENDS ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/generate_open62541CCode.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/logger.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/open62541_MacroHelper.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_builtin_types.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_constants.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_namespace.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_node_types.py
-				               ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/NodeID_Blacklist_FullNS0.txt
-				               ${PROJECT_SOURCE_DIR}/examples/server_nodeset.xml)
-				       
+						   PRE_BUILD
+						   COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/generate_open62541CCode.py -i ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/NodeID_Blacklist_FullNS0.txt ${PROJECT_SOURCE_DIR}/tools/schema/namespace0/Opc.Ua.NodeSet2.xml ${PROJECT_SOURCE_DIR}/examples/server_nodeset.xml ${PROJECT_BINARY_DIR}/src_generated/nodeset
+						   DEPENDS ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/generate_open62541CCode.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/logger.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/open62541_MacroHelper.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_builtin_types.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_constants.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_namespace.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/ua_node_types.py
+						           ${PROJECT_SOURCE_DIR}/tools/pyUANamespace/NodeID_Blacklist_FullNS0.txt
+						           ${PROJECT_SOURCE_DIR}/examples/server_nodeset.xml)
+						   
 		add_executable(server_nodeset ${PROJECT_SOURCE_DIR}/examples/server_nodeset.c ${PROJECT_BINARY_DIR}/src_generated/nodeset.c $<TARGET_OBJECTS:open62541-object>)
 		target_link_libraries(server_nodeset ${LIBS})
 	endif()

+ 5 - 0
include/ua_config.h.in

@@ -67,5 +67,10 @@
 # define UA_ALIGNED_MEMORY_ACCESS
 #endif
 
+#ifdef _MSC_VER
+# define UA_INLINE __inline
+#else
+# define UA_INLINE inline
+#endif
 
 #endif /* UA_CONFIG_H_ */

+ 1 - 1
tools/pyUANamespace/ua_namespace.py

@@ -641,7 +641,7 @@ class opcua_namespace():
     header.append('#include "ua_types.h"')
 
     code.append('#include "'+outfilename+'.h"')
-    code.append("inline void "+outfilename+"(UA_Server *server) {")
+    code.append("UA_INLINE void "+outfilename+"(UA_Server *server) {")
 
     # Find all references necessary to create the namespace and
     # "Bootstrap" them so all other nodes can safely use these referencetypes whenever