@@ -10,6 +10,7 @@ project(VisualNodeSystem LANGUAGES CXX)
1010option (VISUAL_NODE_SYSTEM_USE_EXTERNAL_IMGUI "Use an external ImGui library instead of compiling our own" OFF )
1111option (VISUAL_NODE_SYSTEM_BUILD_SHARED_LIBS "Build VisualNodeSystem as a shared library" OFF )
1212option (VISUAL_NODE_SYSTEM_USE_STATIC_RUNTIME "Use static runtime (/MT) instead of dynamic (/MD) for VisualNodeSystem" ON )
13+ option (VISUAL_NODE_SYSTEM_BUILD_STANDARD_NODES "Build the Visual Node System with standard nodes module" OFF )
1314set (CMAKE_POSITION_INDEPENDENT_CODE ON )
1415
1516if (MSVC )
@@ -66,10 +67,172 @@ file(GLOB jsoncpp_SRC
6667
6768# *************** THIRD_PARTY END ***************
6869
70+
71+ set (BaseExecutionFlowNodes_SOURCE_FILES)
72+ set (LogicalOperatorNodes_SOURCE_FILES)
73+ set (ComparisonOperatorNodes_SOURCE_FILES)
74+ set (ArithmeticOperatorNodes_SOURCE_FILES)
75+ set (LiteralsNodes_SOURCE_FILES)
76+ set (VariablesNodes_SOURCE_FILES)
77+ set (ControlFlowNodes_SOURCE_FILES)
78+
79+ if (VISUAL_NODE_SYSTEM_BUILD_STANDARD_NODES)
80+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DVISUAL_NODE_SYSTEM_BUILD_STANDARD_NODES" )
81+
82+ # *************** STANDARD_NODES ***************
83+ list (APPEND BaseExecutionFlowNodes_SOURCE_FILES
84+ "StandardNodes/ExecutionFlowNodes/BaseExecutionFlowNode.h"
85+ "StandardNodes/ExecutionFlowNodes/BaseExecutionFlowNode.cpp"
86+ )
87+
88+ list (APPEND LogicalOperatorNodes_SOURCE_FILES
89+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/BaseLogicalOperatorNode.h"
90+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/BaseLogicalOperatorNode.cpp"
91+
92+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalANDOperatorNode.h"
93+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalANDOperatorNode.cpp"
94+
95+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalOROperatorNode.h"
96+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalOROperatorNode.cpp"
97+
98+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalXOROperatorNode.h"
99+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalXOROperatorNode.cpp"
100+
101+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalNOTOperatorNode.h"
102+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical/LogicalNOTOperatorNode.cpp"
103+ )
104+
105+ list (APPEND ComparisonOperatorNodes_SOURCE_FILES
106+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/BaseComparisonOperatorNode.h"
107+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/BaseComparisonOperatorNode.cpp"
108+
109+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/EqualNode.h"
110+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/EqualNode.cpp"
111+
112+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/NotEqualNode.h"
113+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/NotEqualNode.cpp"
114+
115+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/LessThanOrEqualNode.h"
116+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/LessThanOrEqualNode.cpp"
117+
118+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/GreaterThanOrEqualNode.h"
119+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/GreaterThanOrEqualNode.cpp"
120+
121+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/GreaterThanNode.h"
122+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/GreaterThanNode.cpp"
123+
124+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/LessThanNode.h"
125+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison/LessThanNode.cpp"
126+ )
127+
128+ list (APPEND ArithmeticOperatorNodes_SOURCE_FILES
129+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/BaseArithmeticOperatorNode.h"
130+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/BaseArithmeticOperatorNode.cpp"
131+
132+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticAddNode.h"
133+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticAddNode.cpp"
134+
135+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticSubtractNode.h"
136+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticSubtractNode.cpp"
137+
138+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticMultiplyNode.h"
139+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticMultiplyNode.cpp"
140+
141+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticDivideNode.h"
142+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticDivideNode.cpp"
143+
144+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticModulusNode.h"
145+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticModulusNode.cpp"
146+
147+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticPowerNode.h"
148+ "StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic/ArithmeticPowerNode.cpp"
149+ )
150+
151+ list (APPEND LiteralsNodes_SOURCE_FILES
152+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolLiteralNode.h"
153+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolLiteralNode.cpp"
154+
155+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/IntegerLiteralNode.h"
156+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/IntegerLiteralNode.cpp"
157+
158+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/FloatLiteralNode.h"
159+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/FloatLiteralNode.cpp"
160+
161+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/Vec2LiteralNode.h"
162+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/Vec2LiteralNode.cpp"
163+
164+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolVec2LiteralNode.h"
165+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolVec2LiteralNode.cpp"
166+
167+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/Vec3LiteralNode.h"
168+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/Vec3LiteralNode.cpp"
169+
170+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolVec3LiteralNode.h"
171+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolVec3LiteralNode.cpp"
172+
173+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/Vec4LiteralNode.h"
174+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/Vec4LiteralNode.cpp"
175+
176+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolVec4LiteralNode.h"
177+ "StandardNodes/ExecutionFlowNodes/LiteralsNodes/BoolVec4LiteralNode.cpp"
178+ )
179+
180+ list (APPEND VariablesNodes_SOURCE_FILES
181+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVariableNode.h"
182+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVariableNode.cpp"
183+
184+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/IntegerVariableNode.h"
185+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/IntegerVariableNode.cpp"
186+
187+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/FloatVariableNode.h"
188+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/FloatVariableNode.cpp"
189+
190+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/Vec2VariableNode.h"
191+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/Vec2VariableNode.cpp"
192+
193+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVec2VariableNode.h"
194+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVec2VariableNode.cpp"
195+
196+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/Vec3VariableNode.h"
197+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/Vec3VariableNode.cpp"
198+
199+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVec3VariableNode.h"
200+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVec3VariableNode.cpp"
201+
202+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/Vec4VariableNode.h"
203+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/Vec4VariableNode.cpp"
204+
205+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVec4VariableNode.h"
206+ "StandardNodes/ExecutionFlowNodes/VariablesNodes/BoolVec4VariableNode.cpp"
207+ )
208+
209+ list (APPEND ControlFlowNodes_SOURCE_FILES
210+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/BranchNode.h"
211+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/BranchNode.cpp"
212+
213+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/SequenceNode.h"
214+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/SequenceNode.cpp"
215+
216+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/LoopNode.h"
217+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/LoopNode.cpp"
218+
219+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/WhileLoopNode.h"
220+ "StandardNodes/ExecutionFlowNodes/ControlFlowNodes/WhileLoopNode.cpp"
221+ )
222+ # *************** STANDARD_NODES END ***************
223+ endif ()
224+
69225set (ALL_SOURCE_FILES "" )
70226list (APPEND ALL_SOURCE_FILES
71227 ${VisualNodeSystem_SRC}
72228 ${VisualNodeArea_SRC}
229+ ${BaseExecutionFlowNodes_SOURCE_FILES}
230+ ${LiteralsNodes_SOURCE_FILES}
231+ ${VariablesNodes_SOURCE_FILES}
232+ ${LogicalOperatorNodes_SOURCE_FILES}
233+ ${ComparisonOperatorNodes_SOURCE_FILES}
234+ ${ArithmeticOperatorNodes_SOURCE_FILES}
235+ ${ControlFlowNodes_SOURCE_FILES}
73236 # *************** THIRD_PARTY ***************
74237 ${jsoncpp_SRC}
75238)
@@ -91,6 +254,15 @@ endif()
91254
92255source_group ("Source Files" FILES ${VisualNodeSystem_SRC} )
93256source_group ("Source Files/SubSystems/VisualNodeArea/" FILES ${VisualNodeArea_SRC} )
257+ if (VISUAL_NODE_SYSTEM_BUILD_STANDARD_NODES)
258+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes" FILES ${BaseExecutionFlowNodes_SOURCE_FILES} )
259+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes/LiteralsNodes" FILES ${LiteralsNodes_SOURCE_FILES} )
260+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes/VariablesNodes" FILES ${VariablesNodes_SOURCE_FILES} )
261+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes/OperatorNodes/Logical" FILES ${LogicalOperatorNodes_SOURCE_FILES} )
262+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes/OperatorNodes/Comparison" FILES ${ComparisonOperatorNodes_SOURCE_FILES} )
263+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes/OperatorNodes/Arithmetic" FILES ${ArithmeticOperatorNodes_SOURCE_FILES} )
264+ source_group ("Source Files/StandardNodes/ExecutionFlowNodes/ControlFlowNodes" FILES ${ControlFlowNodes_SOURCE_FILES} )
265+ endif ()
94266# *************** THIRD_PARTY ***************
95267source_group ("Source Files/ThirdParty/jsoncpp" FILES ${jsoncpp_SRC} )
96268
0 commit comments