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