chore(test): renamed Tests directory to test
[KDIS.git] / CMakeLists.txt
blob3ac73595d1b571ced0e6d4e4c72954981723b0cc
1 CMAKE_MINIMUM_REQUIRED(VERSION 3.0)\r
2 \r
3 PROJECT(KDIS)\r
4 \r
5 #Import all files, Headers and cpp files seperate.\r
6 \r
7 #Options-------------------------------------------------\r
8 \r
9 OPTION(BUILD_EXAMPLES_TO_LINK_TO_LIB "Build the examples so they link against a Lib version of KDIS instead of including the whole source for each example" ON)\r
10 SET(EXAMPLES_USE_STATIC_OR_SHARED_LIB STATIC CACHE STRING "If BUILD_EXAMPLES_TO_LINK_TO_LIB is ON then do you want to build against a STATIC library or a SHARED library(dll)")\r
11 SET(DIS_VERSION 7 CACHE STRING "The version of DIS to use. IEEE 1278.1-1995(5), IEEE 1278.1A-1998(6) or IEEE 1278.1x-2012(7). This parameter will decide what files should be included in the example projects.")\r
12 OPTION(KDIS_USE_ENUM_DESCRIPTORS "Use enumeration descriptors. These allow enum values to be turned into their text labels. This increase the memory footprint of your application so do not enable if you do not plan to use." ON)\r
13 OPTION(BUILD_EXAMPLES "Create example projects" ON)\r
14 OPTION(USE_SOLUTION_FOLDERS "Organise all projects into folders in your solution. At the moment this feature seems to be Visual Studio Professional(Not Express) only." ON)\r
15 OPTION(BUILD_TESTS "Build the KDIS unit tests. Uses the google test framework.")\r
17 IF(NOT DIS_VERSION MATCHES 5 AND NOT DIS_VERSION GREATER 5 AND NOT DIS_VERSION GREATER 6)\r
18 MESSAGE(FATAL_ERROR "Invalid DIS version, only 5, 6 and 7 are supported")\r
19 ENDIF(NOT DIS_VERSION MATCHES 5 AND NOT DIS_VERSION GREATER 5 AND NOT DIS_VERSION GREATER 6)\r
21 IF(NOT EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES SHARED AND NOT EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES STATIC)\r
22 MESSAGE(FATAL_ERROR "Invalid EXAMPLES_USE_STATIC_OR_SHARED_LIB parameter, only STATIC or SHARED is allowed")\r
23 ENDIF(NOT EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES SHARED AND NOT EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES STATIC)\r
25 IF(USE_SOLUTION_FOLDERS)\r
26 SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)\r
27 ELSE(USE_SOLUTION_FOLDERS)\r
28 SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS OFF)\r
29 ENDIF(USE_SOLUTION_FOLDERS)\r
31 ########################################################\r
32 #                       Base                           #\r
33 ########################################################\r
35 SET(BASE_DIRNAME KDIS)\r
36 SET(BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/KDIS)\r
38 # *.H\r
40 SET(KDIS_SRC_BASE_H\r
41     ${BASE_DIR}/KDataStream.h\r
42     ${BASE_DIR}/KDefines.h\r
43     ${BASE_DIR}/KEncodersDecoders.h\r
44     ${BASE_DIR}/KSymbolicNames.h\r
45 )\r
47 # *.cpp\r
49 SET(KDIS_SRC_BASE_CPP ${BASE_DIR}/KDataStream.cpp)\r
51 ########################################################\r
52 #                       DataTypes                      #\r
53 ########################################################\r
55 SET(DATATYPES_DIRNAME DataTypes)\r
56 SET(DATATYPES_DIR ${BASE_DIR}/DataTypes)\r
58 # *.h\r
60 # DIS 5\r
61 SET(KDIS_SRC_DATATYPES_H\r
62     ${DATATYPES_DIR}/AirPlatformAppearance.h\r
63     ${DATATYPES_DIR}/AntennaLocation.h\r
64     ${DATATYPES_DIR}/ArticulatedPart.h\r
65     ${DATATYPES_DIR}/AttachedPart.h\r
66     ${DATATYPES_DIR}/ClockTime.h\r
67     ${DATATYPES_DIR}/CryptoSystem.h\r
68     ${DATATYPES_DIR}/CulturalFeatureAppearance.h\r
69     ${DATATYPES_DIR}/DataTypeBase.h\r
70     ${DATATYPES_DIR}/DeadReckoningParameter.h\r
71     ${DATATYPES_DIR}/Descriptor.h\r
72     ${DATATYPES_DIR}/EmissionSystem.h\r
73     ${DATATYPES_DIR}/EmitterBeam.h\r
74     ${DATATYPES_DIR}/EmitterSystem.h\r
75     ${DATATYPES_DIR}/EncodingScheme.h\r
76     ${DATATYPES_DIR}/EntityAppearance.h\r
77     ${DATATYPES_DIR}/EntityCapabilities.h\r
78     ${DATATYPES_DIR}/EntityIdentifier.h\r
79     ${DATATYPES_DIR}/EntityMarking.h\r
80     ${DATATYPES_DIR}/EntityType.h\r
81     ${DATATYPES_DIR}/EnvironmentalsAppearance.h\r
82     ${DATATYPES_DIR}/EulerAngles.h\r
83     ${DATATYPES_DIR}/FactoryDecoder.h\r
84     ${DATATYPES_DIR}/FixedDatum.h\r
85     ${DATATYPES_DIR}/FundamentalParameterData.h\r
86     ${DATATYPES_DIR}/GuidedMunitionsAppearance.h\r
87     ${DATATYPES_DIR}/LandPlatformAppearance.h\r
88     ${DATATYPES_DIR}/LifeFormAppearance.h\r
89     ${DATATYPES_DIR}/ModulationType.h\r
90     ${DATATYPES_DIR}/MunitionDescriptor.h\r
91     ${DATATYPES_DIR}/NonHumanLifeFormAppearance.h\r
92     ${DATATYPES_DIR}/RadioAppearance.h\r
93     ${DATATYPES_DIR}/RadioEntityType.h\r
94     ${DATATYPES_DIR}/SensorEmitterAppearance.h\r
95     ${DATATYPES_DIR}/SimulationIdentifier.h\r
96     ${DATATYPES_DIR}/SpacePlatformAppearance.h\r
97     ${DATATYPES_DIR}/SubSurfacePlatformAppearance.h\r
98     ${DATATYPES_DIR}/Supplies.h\r
99     ${DATATYPES_DIR}/SurfacePlatformAppearance.h\r
100     ${DATATYPES_DIR}/TimeStamp.h\r
101     ${DATATYPES_DIR}/TrackJamTargetIdentifier.h\r
102     ${DATATYPES_DIR}/VariableDatum.h\r
103     ${DATATYPES_DIR}/VariableParameter.h\r
104     ${DATATYPES_DIR}/Vector.h\r
105     ${DATATYPES_DIR}/WorldCoordinates.h\r
106         ${DATATYPES_DIR}/SupplyAppearance.h\r
107         ${DATATYPES_DIR}/ExpendableAppearance.h\r
110 #DIS 6\r
111 IF(DIS_VERSION GREATER 5)\r
113     LIST(APPEND KDIS_SRC_DATATYPES_H\r
114     ${DATATYPES_DIR}/AcousticEmitterSystem.h\r
115     ${DATATYPES_DIR}/AggregateIdentifier.h\r
116     ${DATATYPES_DIR}/AggregateMarking.h\r
117     ${DATATYPES_DIR}/AggregateType.h\r
118     ${DATATYPES_DIR}/APA.h\r
119     ${DATATYPES_DIR}/ArealObjectAppearance.h\r
120     ${DATATYPES_DIR}/BeamData.h\r
121     ${DATATYPES_DIR}/BoundingSphereRecord.h\r
122     ${DATATYPES_DIR}/COMBICState.h\r
123     ${DATATYPES_DIR}/CommunicationsChannelType.h\r
124     ${DATATYPES_DIR}/ConeRecord1.h\r
125     ${DATATYPES_DIR}/ConeRecord2.h\r
126     ${DATATYPES_DIR}/EllipsoidRecord1.h\r
127     ${DATATYPES_DIR}/EllipsoidRecord2.h\r
128     ${DATATYPES_DIR}/EntityDestinationRecord.h\r
129     ${DATATYPES_DIR}/EnvironmentRecord.h\r
130     ${DATATYPES_DIR}/EnvironmentType.h\r
131     ${DATATYPES_DIR}/FlareState.h\r
132     ${DATATYPES_DIR}/FundamentalOperationalData.h\r
133     ${DATATYPES_DIR}/FundamentalOperationalData_MarkXInterrogator.h\r
134     ${DATATYPES_DIR}/FundamentalOperationalData_MarkXTransponder.h\r
135     ${DATATYPES_DIR}/FundamentalOperationalData_RRB.h\r
136     ${DATATYPES_DIR}/FundamentalOperationalData_Soviet.h\r
137     ${DATATYPES_DIR}/GaussianPlumeRecord.h\r
138     ${DATATYPES_DIR}/GaussianPuffRecord.h\r
139     ${DATATYPES_DIR}/GED.h\r
140     ${DATATYPES_DIR}/GED_BasicFixedWingAircraft.h\r
141     ${DATATYPES_DIR}/GED_BasicGroundCombatSoldier.h\r
142     ${DATATYPES_DIR}/GED_BasicGroundCombatVehicle.h\r
143     ${DATATYPES_DIR}/GED_BasicRotorWingAircraft.h\r
144     ${DATATYPES_DIR}/GED_EnhancedFixedWingAircraft.h\r
145     ${DATATYPES_DIR}/GED_EnhancedGroundCombatSoldier.h\r
146     ${DATATYPES_DIR}/GED_EnhancedGroundCombatVehicle.h\r
147     ${DATATYPES_DIR}/GED_EnhancedRotaryWingAircraft.h\r
148     ${DATATYPES_DIR}/GED_GroundLogisticsVehicle.h\r
149     ${DATATYPES_DIR}/GridAxisIrregular.h\r
150     ${DATATYPES_DIR}/GridAxisRegular.h\r
151     ${DATATYPES_DIR}/GridData.h\r
152     ${DATATYPES_DIR}/GridDataType0.h\r
153     ${DATATYPES_DIR}/GridDataType1.h\r
154     ${DATATYPES_DIR}/GridDataType2.h\r
155     ${DATATYPES_DIR}/GroupAssignmentRecord.h\r
156     ${DATATYPES_DIR}/GroupDestinationRecord.h\r
157     ${DATATYPES_DIR}/IFF_ATC_NAVAIDS_FundamentalParameterData.h\r
158     ${DATATYPES_DIR}/IFF_Layer2.h\r
159     ${DATATYPES_DIR}/IntercomCommunicationParameters.h\r
160     ${DATATYPES_DIR}/KFIXED.h\r
161     ${DATATYPES_DIR}/LayerHeader.h\r
162     ${DATATYPES_DIR}/LE_DeadReckoningParameter.h\r
163     ${DATATYPES_DIR}/LE_EntityIdentifier.h\r
164     ${DATATYPES_DIR}/LE_EulerAngles.h\r
165     ${DATATYPES_DIR}/LE_Vector.h\r
166     ${DATATYPES_DIR}/LinearObjectAppearance.h\r
167     ${DATATYPES_DIR}/LinearSegmentParameter.h\r
168     ${DATATYPES_DIR}/LineRecord1.h\r
169     ${DATATYPES_DIR}/LineRecord2.h\r
170     ${DATATYPES_DIR}/Mine.h\r
171     ${DATATYPES_DIR}/MinefieldAppearance.h\r
172     ${DATATYPES_DIR}/MinefieldDataFilter.h\r
173     ${DATATYPES_DIR}/MineFusing.h\r
174     ${DATATYPES_DIR}/MinePaintScheme.h\r
175     ${DATATYPES_DIR}/NamedLocationIdentifier.h\r
176     ${DATATYPES_DIR}/ObjectAppearance.h\r
177     ${DATATYPES_DIR}/ObjectType.h\r
178     ${DATATYPES_DIR}/OrientationError.h\r
179     ${DATATYPES_DIR}/PerimeterPointCoordinate.h\r
180     ${DATATYPES_DIR}/PointObjectAppearance.h\r
181     ${DATATYPES_DIR}/PointRecord1.h\r
182     ${DATATYPES_DIR}/PointRecord2.h\r
183     ${DATATYPES_DIR}/PositionError.h\r
184     ${DATATYPES_DIR}/PropulsionSystem.h\r
185     ${DATATYPES_DIR}/RecordSet.h\r
186     ${DATATYPES_DIR}/RectangularVolumeRecord1.h\r
187     ${DATATYPES_DIR}/RectangularVolumeRecord2.h\r
188     ${DATATYPES_DIR}/RectangularVolumeRecord3.h\r
189     ${DATATYPES_DIR}/RelationshipRecord.h\r
190     ${DATATYPES_DIR}/RelativeWorldCoordinates.h\r
191     ${DATATYPES_DIR}/SecondaryOperationalData.h\r
192     ${DATATYPES_DIR}/Shaft.h\r
193     ${DATATYPES_DIR}/SilentAggregateSystem.h\r
194     ${DATATYPES_DIR}/SilentEntitySystem.h\r
195     ${DATATYPES_DIR}/SphereRecord1.h\r
196     ${DATATYPES_DIR}/SphereRecord2.h\r
197     ${DATATYPES_DIR}/SystemIdentifier.h\r
198     ${DATATYPES_DIR}/UnderwaterAcousticEmitterBeam.h\r
199     ${DATATYPES_DIR}/UnderwaterAcousticEmitterSystem.h\r
200     ${DATATYPES_DIR}/UnderwaterAcousticFundamentalParameterData.h\r
201     ${DATATYPES_DIR}/VectoringNozzleSystem.h\r
202         ${DATATYPES_DIR}/SeparationPart.h\r
205 ENDIF(DIS_VERSION GREATER 5)\r
207 #DIS 7\r
208 IF(DIS_VERSION GREATER 6)\r
210 LIST(APPEND KDIS_SRC_DATATYPES_H\r
211     ${DATATYPES_DIR}/AttributeRecordSet.h\r
212     ${DATATYPES_DIR}/BeamStatus.h\r
213     ${DATATYPES_DIR}/CommunicationsNodeID.h\r
214     ${DATATYPES_DIR}/DEAreaAimpoint.h\r
215     ${DATATYPES_DIR}/EnhancedMode1Code.h\r
216     ${DATATYPES_DIR}/ExplosionDescriptor.h\r
217     ${DATATYPES_DIR}/ExpendableDescriptor.h\r
218     ${DATATYPES_DIR}/IFF_Layer3.h\r
219     ${DATATYPES_DIR}/IFF_Layer3Interrogator.h\r
220     ${DATATYPES_DIR}/IFF_Layer3Transponder.h\r
221     ${DATATYPES_DIR}/IOCommunicationsNode.h\r
222     ${DATATYPES_DIR}/IOEffect.h\r
223     ${DATATYPES_DIR}/JammingTechnique.h\r
224     ${DATATYPES_DIR}/Mode5InterrogatorBasicData.h\r
225     ${DATATYPES_DIR}/Mode5InterrogatorStatus.h\r
226     ${DATATYPES_DIR}/Mode5TransponderBasicData.h\r
227     ${DATATYPES_DIR}/Mode5TransponderStatus.h\r
228     ${DATATYPES_DIR}/Mode5TransponderSupplementalData.h\r
229     ${DATATYPES_DIR}/ModeXCodeRecord.h\r
230     ${DATATYPES_DIR}/StandardVariable.h\r
233 ENDIF(DIS_VERSION GREATER 6)\r
235 # *.cpp\r
237 #DIS 5\r
238 SET(KDIS_SRC_DATATYPES_CPP\r
239     ${DATATYPES_DIR}/AirPlatformAppearance.cpp\r
240     ${DATATYPES_DIR}/AntennaLocation.cpp\r
241     ${DATATYPES_DIR}/ArticulatedPart.cpp\r
242     ${DATATYPES_DIR}/AttachedPart.cpp\r
243     ${DATATYPES_DIR}/ClockTime.cpp\r
244     ${DATATYPES_DIR}/CryptoSystem.cpp\r
245     ${DATATYPES_DIR}/CulturalFeatureAppearance.cpp\r
246     ${DATATYPES_DIR}/DataTypeBase.cpp\r
247     ${DATATYPES_DIR}/DeadReckoningParameter.cpp\r
248     ${DATATYPES_DIR}/Descriptor.cpp\r
249     ${DATATYPES_DIR}/EmissionSystem.cpp\r
250     ${DATATYPES_DIR}/EmitterBeam.cpp\r
251     ${DATATYPES_DIR}/EmitterSystem.cpp\r
252     ${DATATYPES_DIR}/EncodingScheme.cpp\r
253     ${DATATYPES_DIR}/EntityAppearance.cpp\r
254     ${DATATYPES_DIR}/EntityCapabilities.cpp\r
255     ${DATATYPES_DIR}/EntityIdentifier.cpp\r
256     ${DATATYPES_DIR}/EntityMarking.cpp\r
257     ${DATATYPES_DIR}/EntityType.cpp\r
258     ${DATATYPES_DIR}/EnvironmentalsAppearance.cpp\r
259     ${DATATYPES_DIR}/EulerAngles.cpp\r
260     ${DATATYPES_DIR}/FixedDatum.cpp\r
261     ${DATATYPES_DIR}/FundamentalParameterData.cpp\r
262     ${DATATYPES_DIR}/GuidedMunitionsAppearance.cpp\r
263     ${DATATYPES_DIR}/LandPlatformAppearance.cpp\r
264     ${DATATYPES_DIR}/LifeFormAppearance.cpp\r
265     ${DATATYPES_DIR}/ModulationType.cpp\r
266     ${DATATYPES_DIR}/MunitionDescriptor.cpp\r
267     ${DATATYPES_DIR}/NonHumanLifeFormAppearance.cpp\r
268     ${DATATYPES_DIR}/RadioAppearance.cpp\r
269     ${DATATYPES_DIR}/RadioEntityType.cpp\r
270     ${DATATYPES_DIR}/SensorEmitterAppearance.cpp\r
271     ${DATATYPES_DIR}/SimulationIdentifier.cpp\r
272     ${DATATYPES_DIR}/SpacePlatformAppearance.cpp\r
273     ${DATATYPES_DIR}/SubSurfacePlatformAppearance.cpp\r
274     ${DATATYPES_DIR}/Supplies.cpp\r
275     ${DATATYPES_DIR}/SurfacePlatformAppearance.cpp\r
276     ${DATATYPES_DIR}/TimeStamp.cpp\r
277     ${DATATYPES_DIR}/TrackJamTargetIdentifier.cpp\r
278     ${DATATYPES_DIR}/VariableDatum.cpp\r
279     ${DATATYPES_DIR}/VariableParameter.cpp\r
280     ${DATATYPES_DIR}/Vector.cpp\r
281     ${DATATYPES_DIR}/WorldCoordinates.cpp\r
282         ${DATATYPES_DIR}/SupplyAppearance.cpp\r
283         ${DATATYPES_DIR}/ExpendableAppearance.cpp\r
287 #DIS 6\r
288 IF(DIS_VERSION GREATER 5)\r
289 LIST(APPEND KDIS_SRC_DATATYPES_CPP\r
290     ${DATATYPES_DIR}/AcousticEmitterSystem.cpp\r
291     ${DATATYPES_DIR}/AggregateIdentifier.cpp\r
292     ${DATATYPES_DIR}/AggregateMarking.cpp\r
293     ${DATATYPES_DIR}/AggregateType.cpp\r
294     ${DATATYPES_DIR}/APA.cpp\r
295     ${DATATYPES_DIR}/ArealObjectAppearance.cpp\r
296     ${DATATYPES_DIR}/BeamData.cpp\r
297     ${DATATYPES_DIR}/BoundingSphereRecord.cpp\r
298     ${DATATYPES_DIR}/COMBICState.cpp\r
299     ${DATATYPES_DIR}/CommunicationsChannelType.cpp\r
300     ${DATATYPES_DIR}/ConeRecord1.cpp\r
301     ${DATATYPES_DIR}/ConeRecord2.cpp\r
302     ${DATATYPES_DIR}/EllipsoidRecord1.cpp\r
303     ${DATATYPES_DIR}/EllipsoidRecord2.cpp\r
304     ${DATATYPES_DIR}/EntityDestinationRecord.cpp\r
305     ${DATATYPES_DIR}/EnvironmentRecord.cpp\r
306     ${DATATYPES_DIR}/EnvironmentType.cpp\r
307     ${DATATYPES_DIR}/FlareState.cpp\r
308     ${DATATYPES_DIR}/FundamentalOperationalData.cpp\r
309     ${DATATYPES_DIR}/FundamentalOperationalData_MarkXInterrogator.cpp\r
310     ${DATATYPES_DIR}/FundamentalOperationalData_MarkXTransponder.cpp\r
311     ${DATATYPES_DIR}/FundamentalOperationalData_RRB.cpp\r
312     ${DATATYPES_DIR}/FundamentalOperationalData_Soviet.cpp\r
313     ${DATATYPES_DIR}/GaussianPlumeRecord.cpp\r
314     ${DATATYPES_DIR}/GaussianPuffRecord.cpp\r
315     ${DATATYPES_DIR}/GED_BasicFixedWingAircraft.cpp\r
316     ${DATATYPES_DIR}/GED_BasicGroundCombatSoldier.cpp\r
317     ${DATATYPES_DIR}/GED_BasicGroundCombatVehicle.cpp\r
318     ${DATATYPES_DIR}/GED_BasicRotorWingAircraft.cpp\r
319     ${DATATYPES_DIR}/GED_EnhancedFixedWingAircraft.cpp\r
320     ${DATATYPES_DIR}/GED_EnhancedGroundCombatSoldier.cpp\r
321     ${DATATYPES_DIR}/GED_EnhancedGroundCombatVehicle.cpp\r
322     ${DATATYPES_DIR}/GED_EnhancedRotaryWingAircraft.cpp\r
323     ${DATATYPES_DIR}/GED_GroundLogisticsVehicle.cpp\r
324     ${DATATYPES_DIR}/GridAxisIrregular.cpp\r
325     ${DATATYPES_DIR}/GridAxisRegular.cpp\r
326     ${DATATYPES_DIR}/GridData.cpp\r
327     ${DATATYPES_DIR}/GridDataType0.cpp\r
328     ${DATATYPES_DIR}/GridDataType1.cpp\r
329     ${DATATYPES_DIR}/GridDataType2.cpp\r
330     ${DATATYPES_DIR}/GroupAssignmentRecord.cpp\r
331     ${DATATYPES_DIR}/GroupDestinationRecord.cpp\r
332     ${DATATYPES_DIR}/IFF_ATC_NAVAIDS_FundamentalParameterData.cpp\r
333     ${DATATYPES_DIR}/IFF_Layer2.cpp\r
334     ${DATATYPES_DIR}/IntercomCommunicationParameters.cpp\r
335     ${DATATYPES_DIR}/KFIXED.cpp\r
336     ${DATATYPES_DIR}/LayerHeader.cpp\r
337     ${DATATYPES_DIR}/LE_DeadReckoningParameter.cpp\r
338     ${DATATYPES_DIR}/LE_EntityIdentifier.cpp\r
339     ${DATATYPES_DIR}/LE_EulerAngles.cpp\r
340     ${DATATYPES_DIR}/LE_Vector.cpp\r
341     ${DATATYPES_DIR}/LinearObjectAppearance.cpp\r
342     ${DATATYPES_DIR}/LinearSegmentParameter.cpp\r
343     ${DATATYPES_DIR}/LineRecord1.cpp\r
344     ${DATATYPES_DIR}/LineRecord2.cpp\r
345     ${DATATYPES_DIR}/Mine.cpp\r
346     ${DATATYPES_DIR}/MinefieldAppearance.cpp\r
347     ${DATATYPES_DIR}/MinefieldDataFilter.cpp\r
348     ${DATATYPES_DIR}/MineFusing.cpp\r
349     ${DATATYPES_DIR}/MinePaintScheme.cpp\r
350     ${DATATYPES_DIR}/NamedLocationIdentifier.cpp\r
351     ${DATATYPES_DIR}/ObjectAppearance.cpp\r
352     ${DATATYPES_DIR}/ObjectType.cpp\r
353     ${DATATYPES_DIR}/OrientationError.cpp\r
354     ${DATATYPES_DIR}/PerimeterPointCoordinate.cpp\r
355     ${DATATYPES_DIR}/PointObjectAppearance.cpp\r
356     ${DATATYPES_DIR}/PointRecord1.cpp\r
357     ${DATATYPES_DIR}/PointRecord2.cpp\r
358     ${DATATYPES_DIR}/PositionError.cpp\r
359     ${DATATYPES_DIR}/PropulsionSystem.cpp\r
360     ${DATATYPES_DIR}/RecordSet.cpp\r
361     ${DATATYPES_DIR}/RectangularVolumeRecord1.cpp\r
362     ${DATATYPES_DIR}/RectangularVolumeRecord2.cpp\r
363     ${DATATYPES_DIR}/RectangularVolumeRecord3.cpp\r
364     ${DATATYPES_DIR}/RelationshipRecord.cpp\r
365     ${DATATYPES_DIR}/RelativeWorldCoordinates.cpp\r
366     ${DATATYPES_DIR}/SecondaryOperationalData.cpp\r
367     ${DATATYPES_DIR}/Shaft.cpp\r
368     ${DATATYPES_DIR}/SilentAggregateSystem.cpp\r
369     ${DATATYPES_DIR}/SilentEntitySystem.cpp\r
370     ${DATATYPES_DIR}/SphereRecord1.cpp\r
371     ${DATATYPES_DIR}/SphereRecord2.cpp\r
372     ${DATATYPES_DIR}/SystemIdentifier.cpp\r
373     ${DATATYPES_DIR}/UnderwaterAcousticEmitterBeam.cpp\r
374     ${DATATYPES_DIR}/UnderwaterAcousticEmitterSystem.cpp\r
375     ${DATATYPES_DIR}/UnderwaterAcousticFundamentalParameterData.cpp\r
376     ${DATATYPES_DIR}/VectoringNozzleSystem.cpp\r
377         ${DATATYPES_DIR}/SeparationPart.cpp\r
378    )\r
380 ENDIF(DIS_VERSION GREATER 5)\r
382 #DIS 7\r
383 IF(DIS_VERSION GREATER 6)\r
385 LIST(APPEND KDIS_SRC_DATATYPES_CPP\r
386     ${DATATYPES_DIR}/AttributeRecordSet.cpp\r
387     ${DATATYPES_DIR}/BeamStatus.cpp\r
388     ${DATATYPES_DIR}/CommunicationsNodeID.cpp\r
389     ${DATATYPES_DIR}/DEAreaAimpoint.cpp\r
390     ${DATATYPES_DIR}/EnhancedMode1Code.cpp\r
391     ${DATATYPES_DIR}/ExplosionDescriptor.cpp\r
392     ${DATATYPES_DIR}/ExpendableDescriptor.cpp\r
393     ${DATATYPES_DIR}/IFF_Layer3.cpp\r
394     ${DATATYPES_DIR}/IFF_Layer3Interrogator.cpp\r
395     ${DATATYPES_DIR}/IFF_Layer3Transponder.cpp\r
396     ${DATATYPES_DIR}/IOCommunicationsNode.cpp\r
397     ${DATATYPES_DIR}/IOEffect.cpp\r
398     ${DATATYPES_DIR}/JammingTechnique.cpp\r
399     ${DATATYPES_DIR}/Mode5InterrogatorBasicData.cpp\r
400     ${DATATYPES_DIR}/Mode5InterrogatorStatus.cpp\r
401     ${DATATYPES_DIR}/Mode5TransponderBasicData.cpp\r
402     ${DATATYPES_DIR}/Mode5TransponderStatus.cpp\r
403     ${DATATYPES_DIR}/Mode5TransponderSupplementalData.cpp\r
404     ${DATATYPES_DIR}/ModeXCodeRecord.cpp\r
405     ${DATATYPES_DIR}/StandardVariable.cpp\r
408 ENDIF(DIS_VERSION GREATER 6)\r
411 ########################################################\r
412 #                         Enums                        #\r
413 ########################################################\r
415 # *.h\r
417 #DIS 5-6\r
418 SET(ENUMS_DIRNAME /DataTypes/Enums)\r
419 SET(ENUMS_DIR ${BASE_DIR}/DataTypes/Enums)\r
421 SET(KDIS_SRC_ENUMS_H\r
422     ${ENUMS_DIR}/EnumBurstDescriptor.h\r
423     ${ENUMS_DIR}/EnumDescriptor.h\r
424     ${ENUMS_DIR}/EnumDesignator.h\r
425     ${ENUMS_DIR}/EnumDetonationResult.h\r
426     ${ENUMS_DIR}/EnumEmitter.h\r
427     ${ENUMS_DIR}/EnumEntityInfoInteraction.h\r
428     ${ENUMS_DIR}/EnumEntityManagement.h\r
429     ${ENUMS_DIR}/EnumHeader.h\r
430     ${ENUMS_DIR}/EnumIFF.h\r
431     ${ENUMS_DIR}/EnumMinefield.h\r
432     ${ENUMS_DIR}/EnumRadio.h\r
433     ${ENUMS_DIR}/EnumSimulationManagement.h\r
434     ${ENUMS_DIR}/EnumSupply.h\r
435     ${ENUMS_DIR}/EnumSyntheticEnvironment.h\r
436     ${ENUMS_DIR}/EnumSystemIdentifier.h\r
437     ${ENUMS_DIR}/KDISEnums.h\r
440 #DIS 7\r
441 IF(DIS_VERSION GREATER 6)\r
443 LIST(APPEND KDIS_SRC_ENUMS_H\r
444     ${ENUMS_DIR}/EnumInformationOperations.h\r
447 ENDIF(DIS_VERSION GREATER 6)\r
449 #DIS 5-6\r
450 SET(KDIS_SRC_ENUMS_CPP\r
451     ${ENUMS_DIR}/EnumBurstDescriptor.cpp\r
452     ${ENUMS_DIR}/EnumDescriptor.cpp\r
453     ${ENUMS_DIR}/EnumDesignator.cpp\r
454     ${ENUMS_DIR}/EnumDetonationResult.cpp\r
455     ${ENUMS_DIR}/EnumEmitter.cpp\r
456     ${ENUMS_DIR}/EnumEntityInfoInteraction.cpp\r
457     ${ENUMS_DIR}/EnumEntityManagement.cpp\r
458     ${ENUMS_DIR}/EnumHeader.cpp\r
459     ${ENUMS_DIR}/EnumIFF.cpp\r
460     ${ENUMS_DIR}/EnumMinefield.cpp\r
461     ${ENUMS_DIR}/EnumRadio.cpp\r
462     ${ENUMS_DIR}/EnumSimulationManagement.cpp\r
463     ${ENUMS_DIR}/EnumSupply.cpp\r
464     ${ENUMS_DIR}/EnumSyntheticEnvironment.cpp\r
465     ${ENUMS_DIR}/EnumSystemIdentifier.cpp\r
468 #DIS 7\r
469 IF(DIS_VERSION GREATER 6)\r
471 LIST(APPEND KDIS_SRC_ENUMS_CPP\r
472     ${ENUMS_DIR}/EnumInformationOperations.cpp\r
475 ENDIF(DIS_VERSION GREATER 6)\r
477 ########################################################\r
478 #                         PDU                          #\r
479 ########################################################\r
481 # *.h\r
483 #Base----------------------------------------------------#\r
485 SET(PDU_BASE_DIRNAME PDU)\r
486 SET(PDU_BASE_DIR ${BASE_DIR}/PDU)\r
488 SET(KDIS_SRC_PDU_BASE_H ${PDU_BASE_DIR}/Header.h\r
489                         ${PDU_BASE_DIR}/Header6.h\r
490                         ${PDU_BASE_DIR}/Bundle.h\r
493 SET(KDIS_SRC_PDU_BASE_CPP ${PDU_BASE_DIR}/Header6.cpp\r
494                           ${PDU_BASE_DIR}/Bundle.cpp\r
497 # DIS 7\r
498 IF(DIS_VERSION GREATER 6)\r
500     LIST(APPEND KDIS_SRC_PDU_BASE_H ${PDU_BASE_DIR}/Header7.h)\r
502     LIST(APPEND KDIS_SRC_PDU_BASE_CPP ${PDU_BASE_DIR}/Header7.cpp)\r
504 ENDIF(DIS_VERSION GREATER 6)\r
506 #Distributed_Emission_Regeneration------------------------#\r
508 SET(PDU_DER_DIRNAME PDU/Distributed_Emission_Regeneration)\r
509 SET(PDU_DER_DIR ${BASE_DIR}/PDU/Distributed_Emission_Regeneration)\r
511 #DIS 5\r
512 SET(KDIS_SRC_PDU_DER_H\r
513     ${PDU_DER_DIR}/Designator_PDU.h\r
514     ${PDU_DER_DIR}/Electromagnetic_Emission_PDU.h\r
517 #DIS 6\r
518 IF(DIS_VERSION GREATER 5)\r
520     LIST(APPEND KDIS_SRC_PDU_DER_H\r
521         ${PDU_DER_DIR}/IFF_PDU.h\r
522         ${PDU_DER_DIR}/SEES_PDU.h\r
523         ${PDU_DER_DIR}/Underwater_Acoustic_PDU.h\r
524     )\r
526 ENDIF(DIS_VERSION GREATER 5)\r
528 #DIS 5\r
529 SET(KDIS_SRC_PDU_DER_CPP\r
530     ${PDU_DER_DIR}/Designator_PDU.cpp\r
531     ${PDU_DER_DIR}/Electromagnetic_Emission_PDU.cpp\r
534 # DIS 6\r
535 IF(DIS_VERSION GREATER 5)\r
537     LIST(APPEND KDIS_SRC_PDU_DER_CPP\r
538         ${PDU_DER_DIR}/IFF_PDU.cpp\r
539         ${PDU_DER_DIR}/SEES_PDU.cpp\r
540         ${PDU_DER_DIR}/Underwater_Acoustic_PDU.cpp\r
541     )\r
543 ENDIF(DIS_VERSION GREATER 5)\r
545 #Entity_Info_Interaction---------------------------------#\r
547 SET(PDU_EII_DIRNAME PDU/Entity_Info_Interaction)\r
548 SET(PDU_EII_DIR ${BASE_DIR}/PDU/Entity_Info_Interaction)\r
550 #DIS 5\r
551 SET(KDIS_SRC_PDU_EII_H\r
552     ${PDU_EII_DIR}/Collision_PDU.h\r
553     ${PDU_EII_DIR}/Entity_State_PDU.h\r
556 #DIS 6\r
557 IF(DIS_VERSION GREATER 5)\r
559     LIST(APPEND KDIS_SRC_PDU_EII_H\r
560         ${PDU_EII_DIR}/Collision_Elastic_PDU.h\r
561         ${PDU_EII_DIR}/Entity_State_Update_PDU.h\r
562     )\r
564 ENDIF(DIS_VERSION GREATER 5)\r
566 #DIS 7\r
567 IF(DIS_VERSION GREATER 6)\r
569     LIST(APPEND KDIS_SRC_PDU_EII_H\r
570         ${PDU_EII_DIR}/Attribute_PDU.h\r
571     )\r
573 ENDIF(DIS_VERSION GREATER 6)\r
575 # DIS 5\r
576 SET(KDIS_SRC_PDU_EII_CPP\r
577     ${PDU_EII_DIR}/Collision_PDU.cpp\r
578     ${PDU_EII_DIR}/Entity_State_PDU.cpp\r
581 #DIS 6\r
582 IF(DIS_VERSION GREATER 5)\r
584     LIST(APPEND KDIS_SRC_PDU_EII_CPP\r
585         ${PDU_EII_DIR}/Collision_Elastic_PDU.cpp\r
586         ${PDU_EII_DIR}/Entity_State_Update_PDU.cpp\r
587     )\r
589 ENDIF(DIS_VERSION GREATER 5)\r
591 #DIS 7\r
592 IF(DIS_VERSION GREATER 6)\r
594     LIST(APPEND KDIS_SRC_PDU_EII_CPP\r
595         ${PDU_EII_DIR}/Attribute_PDU.cpp\r
596     )\r
598 ENDIF(DIS_VERSION GREATER 6)\r
600 #Entity_Management---------------------------------------#\r
602 SET(PDU_EM_DIRNAME PDU/Entity_Management)\r
603 #DIS 6 - All\r
604 SET(PDU_EM_DIR ${BASE_DIR}/PDU/Entity_Management)\r
606 IF(DIS_VERSION GREATER 5)\r
608     SET(KDIS_SRC_PDU_EM_H\r
609     ${PDU_EM_DIR}/Aggregate_State_PDU.h\r
610     ${PDU_EM_DIR}/IsGroupOf_PDU.h\r
611     ${PDU_EM_DIR}/IsPartOf_PDU.h\r
612     ${PDU_EM_DIR}/Transfer_Control_Request_PDU.h\r
613     )\r
615     SET(KDIS_SRC_PDU_EM_CPP\r
616     ${PDU_EM_DIR}/Aggregate_State_PDU.cpp\r
617     ${PDU_EM_DIR}/IsGroupOf_PDU.cpp\r
618     ${PDU_EM_DIR}/IsPartOf_PDU.cpp\r
619     ${PDU_EM_DIR}/Transfer_Control_Request_PDU.cpp\r
620     )\r
622 ENDIF(DIS_VERSION GREATER 5)\r
624 #LE------------------------------------------------------#\r
626 SET(PDU_LE_DIRNAME PDU/Live_Entity)\r
627 #DIS 6 - All\r
628 SET(PDU_LE_DIR ${BASE_DIR}/PDU/Live_Entity)\r
630 IF(DIS_VERSION GREATER 5)\r
632     SET(KDIS_SRC_PDU_LE_H\r
633     ${PDU_LE_DIR}/Appearance_PDU.h\r
634     ${PDU_LE_DIR}/Articulated_Parts_PDU.h\r
635     ${PDU_LE_DIR}/LE_Detonation_PDU.h\r
636     ${PDU_LE_DIR}/LE_Fire_PDU.h\r
637     ${PDU_LE_DIR}/LE_Header.h\r
638     ${PDU_LE_DIR}/TSPI_PDU.h\r
639     )\r
641     SET(KDIS_SRC_PDU_LE_CPP\r
642     ${PDU_LE_DIR}/Appearance_PDU.cpp\r
643     ${PDU_LE_DIR}/Articulated_Parts_PDU.cpp\r
644     ${PDU_LE_DIR}/LE_Detonation_PDU.cpp\r
645     ${PDU_LE_DIR}/LE_Fire_PDU.cpp\r
646     ${PDU_LE_DIR}/LE_Header.cpp\r
647     ${PDU_LE_DIR}/TSPI_PDU.cpp\r
648     )\r
650 ENDIF(DIS_VERSION GREATER 5)\r
652 #Logistics-----------------------------------------------#\r
654 SET(PDU_L_DIRNAME PDU/Logistics)\r
655 SET(PDU_L_DIR ${BASE_DIR}/PDU/Logistics)\r
657 #DIS 5\r
658 SET(KDIS_SRC_PDU_L_H\r
659     ${PDU_L_DIR}/Logistics_Header.h\r
660     ${PDU_L_DIR}/Repair_Complete_PDU.h\r
661     ${PDU_L_DIR}/Repair_Response_PDU.h\r
662     ${PDU_L_DIR}/Resupply_Cancel_PDU.h\r
663     ${PDU_L_DIR}/Resupply_Offer_PDU.h\r
664     ${PDU_L_DIR}/Resupply_Received_PDU.h\r
665     ${PDU_L_DIR}/Service_Request_PDU.h\r
668 #DIS 5\r
669 SET(KDIS_SRC_PDU_L_CPP\r
670     ${PDU_L_DIR}/Logistics_Header.cpp\r
671     ${PDU_L_DIR}/Repair_Complete_PDU.cpp\r
672     ${PDU_L_DIR}/Repair_Response_PDU.cpp\r
673     ${PDU_L_DIR}/Resupply_Cancel_PDU.cpp\r
674     ${PDU_L_DIR}/Resupply_Offer_PDU.cpp\r
675     ${PDU_L_DIR}/Resupply_Received_PDU.cpp\r
676     ${PDU_L_DIR}/Service_Request_PDU.cpp\r
679 #Minefield-----------------------------------------------#\r
681 SET(PDU_M_DIRNAME PDU/Minefield)\r
682 #DIS 6 - All\r
683 SET(PDU_M_DIR ${BASE_DIR}/PDU/Minefield)\r
685 IF(DIS_VERSION GREATER 5)\r
687     SET(KDIS_SRC_PDU_M_H\r
688         ${PDU_M_DIR}/Minefield_Data_PDU.h\r
689         ${PDU_M_DIR}/Minefield_Header.h\r
690         ${PDU_M_DIR}/Minefield_Query_PDU.h\r
691         ${PDU_M_DIR}/Minefield_Response_NACK_PDU.h\r
692         ${PDU_M_DIR}/Minefield_State_PDU.h\r
693     )\r
695     SET(KDIS_SRC_PDU_M_CPP\r
696         ${PDU_M_DIR}/Minefield_Data_PDU.cpp\r
697         ${PDU_M_DIR}/Minefield_Header.cpp\r
698         ${PDU_M_DIR}/Minefield_Query_PDU.cpp\r
699         ${PDU_M_DIR}/Minefield_Response_NACK_PDU.cpp\r
700         ${PDU_M_DIR}/Minefield_State_PDU.cpp\r
701     )\r
703 ENDIF(DIS_VERSION GREATER 5)\r
705 #Radio_Communications------------------------------------#\r
707 SET(PDU_R_DIRNAME PDU/Radio_Communications)\r
708 SET(PDU_R_DIR ${BASE_DIR}/PDU/Radio_Communications)\r
710 #DIS 5\r
711 SET(KDIS_SRC_PDU_R_H\r
712     ${PDU_R_DIR}/Radio_Communications_Header.h\r
713     ${PDU_R_DIR}/Receiver_PDU.h\r
714     ${PDU_R_DIR}/Signal_PDU.h\r
715     ${PDU_R_DIR}/Transmitter_PDU.h\r
718 #DIS 6\r
720 IF(DIS_VERSION GREATER 5)\r
722     LIST(APPEND KDIS_SRC_PDU_R_H\r
723         ${PDU_R_DIR}/Intercom_Control_PDU.h\r
724         ${PDU_R_DIR}/Intercom_Signal_PDU.h\r
725     )\r
727 ENDIF(DIS_VERSION GREATER 5)\r
729 #DIS 5\r
730 SET(KDIS_SRC_PDU_R_CPP\r
731     ${PDU_R_DIR}/Radio_Communications_Header.cpp\r
732     ${PDU_R_DIR}/Receiver_PDU.cpp\r
733     ${PDU_R_DIR}/Signal_PDU.cpp\r
734     ${PDU_R_DIR}/Transmitter_PDU.cpp\r
737 #DIS 6\r
739 IF(DIS_VERSION GREATER 5)\r
741     LIST(APPEND KDIS_SRC_PDU_R_CPP\r
742         ${PDU_R_DIR}/Intercom_Control_PDU.cpp\r
743         ${PDU_R_DIR}/Intercom_Signal_PDU.cpp\r
744     )\r
746 ENDIF(DIS_VERSION GREATER 5)\r
748 #Simulation_Management-----------------------------------#\r
750 SET(PDU_SM_DIRNAME PDU/Simulation_Management)\r
751 SET(PDU_SM_DIR ${BASE_DIR}/PDU/Simulation_Management)\r
753 #DIS 5\r
754 SET(KDIS_SRC_PDU_SM_H\r
755     ${PDU_SM_DIR}/Acknowledge_PDU.h\r
756     ${PDU_SM_DIR}/Action_Request_PDU.h\r
757     ${PDU_SM_DIR}/Action_Response_PDU.h\r
758     ${PDU_SM_DIR}/Comment_PDU.h\r
759     ${PDU_SM_DIR}/Create_Entity_PDU.h\r
760     ${PDU_SM_DIR}/Data_PDU.h\r
761     ${PDU_SM_DIR}/Data_Query_PDU.h\r
762     ${PDU_SM_DIR}/Event_Report_PDU.h\r
763     ${PDU_SM_DIR}/Remove_Entity_PDU.h\r
764     ${PDU_SM_DIR}/Set_Data_PDU.h\r
765     ${PDU_SM_DIR}/Simulation_Management_Header.h\r
766     ${PDU_SM_DIR}/Start_Resume_PDU.h\r
767     ${PDU_SM_DIR}/Stop_Freeze_PDU.h\r
770 #DIS 5\r
771 SET(KDIS_SRC_PDU_SM_CPP\r
772     ${PDU_SM_DIR}/Acknowledge_PDU.cpp\r
773     ${PDU_SM_DIR}/Action_Request_PDU.cpp\r
774     ${PDU_SM_DIR}/Action_Response_PDU.cpp\r
775     ${PDU_SM_DIR}/Comment_PDU.cpp\r
776     ${PDU_SM_DIR}/Create_Entity_PDU.cpp\r
777     ${PDU_SM_DIR}/Data_PDU.cpp\r
778     ${PDU_SM_DIR}/Data_Query_PDU.cpp\r
779     ${PDU_SM_DIR}/Event_Report_PDU.cpp\r
780     ${PDU_SM_DIR}/Remove_Entity_PDU.cpp\r
781     ${PDU_SM_DIR}/Set_Data_PDU.cpp\r
782     ${PDU_SM_DIR}/Simulation_Management_Header.cpp\r
783     ${PDU_SM_DIR}/Start_Resume_PDU.cpp\r
784     ${PDU_SM_DIR}/Stop_Freeze_PDU.cpp\r
787 #Simulation_Management_With_Reliability------------------#\r
789 SET(PDU_SMWR_DIRNAME PDU/Simulation_Management_With_Reliability)\r
790 #DIS 6 - ALL\r
791 SET(PDU_SMWR_DIR ${BASE_DIR}/PDU/Simulation_Management_With_Reliability)\r
793 IF(DIS_VERSION GREATER 5)\r
795     SET(KDIS_SRC_PDU_SMWR_H\r
796         ${PDU_SMWR_DIR}/Acknowledge_R_PDU.h\r
797         ${PDU_SMWR_DIR}/Action_Request_R_PDU.h\r
798         ${PDU_SMWR_DIR}/Action_Response_R_PDU.h\r
799         ${PDU_SMWR_DIR}/Comment_R_PDU.h\r
800         ${PDU_SMWR_DIR}/Create_Entity_R_PDU.h\r
801         ${PDU_SMWR_DIR}/Data_Query_R_PDU.h\r
802         ${PDU_SMWR_DIR}/Data_R_PDU.h\r
803         ${PDU_SMWR_DIR}/Event_Report_R_PDU.h\r
804         ${PDU_SMWR_DIR}/Record_Query_R_PDU.h\r
805         ${PDU_SMWR_DIR}/Record_R_PDU.h\r
806         ${PDU_SMWR_DIR}/Reliability_Header.h\r
807         ${PDU_SMWR_DIR}/Remove_Entity_R_PDU.h\r
808         ${PDU_SMWR_DIR}/Set_Data_R_PDU.h\r
809         ${PDU_SMWR_DIR}/Set_Record_R_PDU.h\r
810         ${PDU_SMWR_DIR}/Start_Resume_R_PDU.h\r
811         ${PDU_SMWR_DIR}/Stop_Freeze_R_PDU.h\r
812     )\r
814     SET(KDIS_SRC_PDU_SMWR_CPP\r
815        ${PDU_SMWR_DIR}/Acknowledge_R_PDU.cpp\r
816        ${PDU_SMWR_DIR}/Action_Request_R_PDU.cpp\r
817        ${PDU_SMWR_DIR}/Action_Response_R_PDU.cpp\r
818        ${PDU_SMWR_DIR}/Comment_R_PDU.cpp\r
819        ${PDU_SMWR_DIR}/Create_Entity_R_PDU.cpp\r
820        ${PDU_SMWR_DIR}/Data_Query_R_PDU.cpp\r
821        ${PDU_SMWR_DIR}/Data_R_PDU.cpp\r
822        ${PDU_SMWR_DIR}/Event_Report_R_PDU.cpp\r
823        ${PDU_SMWR_DIR}/Record_Query_R_PDU.cpp\r
824        ${PDU_SMWR_DIR}/Record_R_PDU.cpp\r
825        ${PDU_SMWR_DIR}/Reliability_Header.cpp\r
826        ${PDU_SMWR_DIR}/Remove_Entity_R_PDU.cpp\r
827        ${PDU_SMWR_DIR}/Set_Data_R_PDU.cpp\r
828        ${PDU_SMWR_DIR}/Set_Record_R_PDU.cpp\r
829        ${PDU_SMWR_DIR}/Start_Resume_R_PDU.cpp\r
830        ${PDU_SMWR_DIR}/Stop_Freeze_R_PDU.cpp\r
831     )\r
833 ENDIF(DIS_VERSION GREATER 5)\r
835 #Synthetic_Environment------------------------------------#\r
837 SET(PDU_SE_DIRNAME PDU/Synthetic_Environment)\r
838 #DIS 6 - ALL\r
839 SET(PDU_SE_DIR ${BASE_DIR}/PDU/Synthetic_Environment)\r
841 IF(DIS_VERSION GREATER 5)\r
843     SET(KDIS_SRC_PDU_SE_H\r
844      ${PDU_SE_DIR}/Areal_Object_State_PDU.h\r
845      ${PDU_SE_DIR}/Environmental_Process_PDU.h\r
846      ${PDU_SE_DIR}/Gridded_Data_PDU.h\r
847      ${PDU_SE_DIR}/Linear_Object_State_PDU.h\r
848      ${PDU_SE_DIR}/Object_State_Header.h\r
849      ${PDU_SE_DIR}/Point_Object_State_PDU.h\r
850     )\r
852     SET(KDIS_SRC_PDU_SE_CPP\r
853      ${PDU_SE_DIR}/Areal_Object_State_PDU.cpp\r
854      ${PDU_SE_DIR}/Environmental_Process_PDU.cpp\r
855      ${PDU_SE_DIR}/Gridded_Data_PDU.cpp\r
856      ${PDU_SE_DIR}/Linear_Object_State_PDU.cpp\r
857      ${PDU_SE_DIR}/Object_State_Header.cpp\r
858      ${PDU_SE_DIR}/Point_Object_State_PDU.cpp\r
859     )\r
861 ENDIF(DIS_VERSION GREATER 5)\r
863 #Warfare-------------------------------------------------#\r
865 SET(PDU_W_DIRNAME PDU/Warfare)\r
866 SET(PDU_W_DIR ${BASE_DIR}/PDU/Warfare)\r
868 #DIS 5\r
869 SET(KDIS_SRC_PDU_W_H\r
870     ${PDU_W_DIR}/Detonation_PDU.h\r
871     ${PDU_W_DIR}/Fire_PDU.h\r
872     ${PDU_W_DIR}/Warfare_Header.h\r
875 #DIS 7\r
876 IF(DIS_VERSION GREATER 6)\r
878     LIST(APPEND KDIS_SRC_PDU_W_H\r
879         ${PDU_W_DIR}/Directed_Energy_Fire_PDU.h\r
880         ${PDU_W_DIR}/Entity_Damage_Status_PDU.h\r
881     )\r
883 ENDIF(DIS_VERSION GREATER 6)\r
885 #DIS 5\r
886 SET(KDIS_SRC_PDU_W_CPP\r
887     ${PDU_W_DIR}/Detonation_PDU.cpp\r
888     ${PDU_W_DIR}/Fire_PDU.cpp\r
889     ${PDU_W_DIR}/Warfare_Header.cpp\r
892 #DIS 7\r
893 IF(DIS_VERSION GREATER 6)\r
895     LIST(APPEND KDIS_SRC_PDU_W_CPP\r
896         ${PDU_W_DIR}/Directed_Energy_Fire_PDU.cpp\r
897         ${PDU_W_DIR}/Entity_Damage_Status_PDU.cpp\r
898     )\r
900 ENDIF(DIS_VERSION GREATER 6)\r
902 #Information_Operations----------------------------------#\r
904 SET(PDU_IO_DIRNAME PDU/Information_Operations)\r
905 SET(PDU_IO_DIR ${BASE_DIR}/PDU/Information_Operations)\r
907 IF(DIS_VERSION GREATER 6)\r
909 #DIS 7\r
910 SET(KDIS_SRC_PDU_IO_H\r
911     ${PDU_IO_DIR}/IO_Header.h\r
912     ${PDU_IO_DIR}/IO_Action_PDU.h\r
913     ${PDU_IO_DIR}/IO_Report_PDU.h\r
916 #DIS 7\r
917 SET(KDIS_SRC_PDU_IO_CPP\r
918     ${PDU_IO_DIR}/IO_Header.cpp\r
919     ${PDU_IO_DIR}/IO_Action_PDU.cpp\r
920     ${PDU_IO_DIR}/IO_Report_PDU.cpp\r
923 ENDIF(DIS_VERSION GREATER 6)\r
925 ########################################################\r
926 #                         Extras                       #\r
927 ########################################################\r
929 SET(EX_DIRNAME Extras)\r
930 SET(EX_DIR ${BASE_DIR}/Extras)\r
932 SET(KDIS_SRC_EX_H\r
933     ${EX_DIR}/DeadReckoningCalculator.h\r
934     ${EX_DIR}/DIS_Logger_Playback.h\r
935     ${EX_DIR}/DIS_Logger_Record.h\r
936     ${EX_DIR}/KConversions.h\r
937     ${EX_DIR}/KRef_Ptr.h\r
938     ${EX_DIR}/KUtils.h\r
939     ${EX_DIR}/Math.h\r
940     ${EX_DIR}/PDU_Factory.h\r
941     ${EX_DIR}/PDU_Factory_Filters.h\r
944 SET(KDIS_SRC_EX_CPP\r
945     ${EX_DIR}/DeadReckoningCalculator.cpp\r
946     ${EX_DIR}/DIS_Logger_Playback.cpp\r
947     ${EX_DIR}/DIS_Logger_Record.cpp\r
948     ${EX_DIR}/PDU_Factory.cpp\r
951 ########################################################\r
952 #                         Network                      #\r
953 ########################################################\r
955 SET(NET_DIRNAME Network)\r
956 SET(NET_DIR ${BASE_DIR}/Network)\r
958 SET(KDIS_SRC_NET_H\r
959     ${NET_DIR}/Connection.h\r
960     ${NET_DIR}/ConnectionAddressFilter.h\r
961     ${NET_DIR}/ConnectionSubscriber.h\r
964 SET(KDIS_SRC_NET_CPP\r
965     ${NET_DIR}/Connection.cpp\r
966     ${NET_DIR}/ConnectionAddressFilter.cpp\r
969 ADD_SUBDIRECTORY(Examples)\r
971 IF(BUILD_TESTS)\r
972     ADD_SUBDIRECTORY(Tests)\r
973 ENDIF(BUILD_TESTS)\r
975 INSTALL(TARGETS ${KDIS_DLL} LIBRARY DESTINATION lib)\r
977 INSTALL(FILES ${KDIS_SRC_BASE_H}       DESTINATION  include/${BASE_DIRNAME})\r
978 INSTALL(FILES ${KDIS_SRC_DATATYPES_H}  DESTINATION  include/${BASE_DIRNAME}/${DATATYPES_DIRNAME})\r
979 INSTALL(FILES ${KDIS_SRC_ENUMS_H}      DESTINATION  include/${BASE_DIRNAME}/${ENUMS_DIRNAME})\r
980 INSTALL(FILES ${KDIS_SRC_EX_H}         DESTINATION  include/${BASE_DIRNAME}/${EX_DIRNAME})\r
981 INSTALL(FILES ${KDIS_SRC_NET_H}        DESTINATION  include/${BASE_DIRNAME}/${NET_DIRNAME})\r
982 INSTALL(FILES ${KDIS_SRC_PDU_BASE_H}   DESTINATION  include/${BASE_DIRNAME}/${PDU_BASE_DIRNAME})\r
983 INSTALL(FILES ${KDIS_SRC_PDU_DER_H}    DESTINATION  include/${BASE_DIRNAME}/${PDU_DER_DIRNAME})\r
984 INSTALL(FILES ${KDIS_SRC_PDU_EII_H}    DESTINATION  include/${BASE_DIRNAME}/${PDU_EII_DIRNAME})\r
985 INSTALL(FILES ${KDIS_SRC_PDU_EM_H}     DESTINATION  include/${BASE_DIRNAME}/${PDU_EM_DIRNAME})\r
986 INSTALL(FILES ${KDIS_SRC_PDU_IO_H}     DESTINATION  include/${BASE_DIRNAME}/${PDU_IO_DIRNAME})\r
987 INSTALL(FILES ${KDIS_SRC_PDU_L_H}      DESTINATION  include/${BASE_DIRNAME}/${PDU_L_DIRNAME})\r
988 INSTALL(FILES ${KDIS_SRC_PDU_LE_H}     DESTINATION  include/${BASE_DIRNAME}/${PDU_LE_DIRNAME})\r
989 INSTALL(FILES ${KDIS_SRC_PDU_M_H}      DESTINATION  include/${BASE_DIRNAME}/${PDU_M_DIRNAME})\r
990 INSTALL(FILES ${KDIS_SRC_PDU_R_H}      DESTINATION  include/${BASE_DIRNAME}/${PDU_R_DIRNAME})\r
991 INSTALL(FILES ${KDIS_SRC_PDU_SE_H}     DESTINATION  include/${BASE_DIRNAME}/${PDU_SE_DIRNAME})\r
992 INSTALL(FILES ${KDIS_SRC_PDU_SM_H}     DESTINATION  include/${BASE_DIRNAME}/${PDU_SM_DIRNAME})\r
993 INSTALL(FILES ${KDIS_SRC_PDU_SMWR_H}   DESTINATION  include/${BASE_DIRNAME}/${PDU_SMWR_DIRNAME})\r
994 INSTALL(FILES ${KDIS_SRC_PDU_W_H}      DESTINATION  include/${BASE_DIRNAME}/${PDU_W_DIRNAME})\r