Merge pull request #5 from intothevoid/master
[KDIS.git] / KDIS / Examples / PDU / Bundle / CMakeLists.txt
blob3e3a123eb11d096fa252d7256fd1e18297689991
2 #Set up visual studio filters
4 # *.h
5 SOURCE_GROUP(KDIS FILES ${KDIS_SRC_BASE_H})
6 SOURCE_GROUP(KDIS\\DataTypes FILES ${KDIS_SRC_DATATYPES_H})
7 SOURCE_GROUP(KDIS\\DataTypes\\Enums FILES ${KDIS_SRC_ENUMS_H})
8 SOURCE_GROUP(KDIS\\PDU FILES ${KDIS_SRC_PDU_BASE_H})
9 SOURCE_GROUP(KDIS\\PDU\\Distributed_Emission_Regeneration FILES ${KDIS_SRC_PDU_DER_H})
10 SOURCE_GROUP(KDIS\\PDU\\Entity_Info_Interaction FILES ${KDIS_SRC_PDU_EII_H})
11 SOURCE_GROUP(KDIS\\PDU\\Entity_Management FILES ${KDIS_SRC_PDU_EM_H})
12 SOURCE_GROUP(KDIS\\PDU\\Live_Entity FILES ${KDIS_SRC_PDU_LE_H})
13 SOURCE_GROUP(KDIS\\PDU\\Logistics FILES ${KDIS_SRC_PDU_L_H})
14 SOURCE_GROUP(KDIS\\PDU\\Minefield FILES ${KDIS_SRC_PDU_M_H})
15 SOURCE_GROUP(KDIS\\PDU\\Radio_Communications FILES ${KDIS_SRC_PDU_R_H})
16 SOURCE_GROUP(KDIS\\PDU\\Simulation_Management FILES ${KDIS_SRC_PDU_SM_H})
17 SOURCE_GROUP(KDIS\\PDU\\Simulation_Management_With_Reliability FILES ${KDIS_SRC_PDU_SMWR_H})
18 SOURCE_GROUP(KDIS\\PDU\\Synthetic_Environment FILES ${KDIS_SRC_PDU_SE_H})
19 SOURCE_GROUP(KDIS\\PDU\\Warfare FILES ${KDIS_SRC_PDU_W_H})
20 SOURCE_GROUP(KDIS\\PDU\\Information_Operations FILES ${KDIS_SRC_PDU_IO_H})
21 SOURCE_GROUP(KDIS\\Extras FILES ${KDIS_SRC_EX_H})
22 SOURCE_GROUP(KDIS\\Network FILES ${KDIS_SRC_NET_H})
24 # *.cpp
25 SOURCE_GROUP(KDIS FILES ${KDIS_SRC_BASE_CPP})
26 SOURCE_GROUP(KDIS\\DataTypes FILES ${KDIS_SRC_DATATYPES_CPP})
27 SOURCE_GROUP(KDIS\\DataTypes\\Enums FILES ${KDIS_SRC_ENUMS_CPP})
28 SOURCE_GROUP(KDIS\\PDU FILES ${KDIS_SRC_PDU_BASE_CPP})
29 SOURCE_GROUP(KDIS\\PDU\\Distributed_Emission_Regeneration FILES ${KDIS_SRC_PDU_DER_CPP})
30 SOURCE_GROUP(KDIS\\PDU\\Entity_Info_Interaction FILES ${KDIS_SRC_PDU_EII_CPP})
31 SOURCE_GROUP(KDIS\\PDU\\Entity_Management FILES ${KDIS_SRC_PDU_EM_CPP})
32 SOURCE_GROUP(KDIS\\PDU\\Live_Entity FILES ${KDIS_SRC_PDU_LE_CPP})
33 SOURCE_GROUP(KDIS\\PDU\\Logistics FILES ${KDIS_SRC_PDU_L_CPP})
34 SOURCE_GROUP(KDIS\\PDU\\Minefield FILES ${KDIS_SRC_PDU_M_CPP})
35 SOURCE_GROUP(KDIS\\PDU\\Radio_Communications FILES ${KDIS_SRC_PDU_R_CPP})
36 SOURCE_GROUP(KDIS\\PDU\\Simulation_Management FILES ${KDIS_SRC_PDU_SM_CPP})
37 SOURCE_GROUP(KDIS\\PDU\\Simulation_Management_With_Reliability FILES ${KDIS_SRC_PDU_SMWR_CPP})
38 SOURCE_GROUP(KDIS\\PDU\\Synthetic_Environment FILES ${KDIS_SRC_PDU_SE_CPP})
39 SOURCE_GROUP(KDIS\\PDU\\Warfare FILES ${KDIS_SRC_PDU_W_CPP})
40 SOURCE_GROUP(KDIS\\PDU\\Information_Operations FILES ${KDIS_SRC_PDU_IO_CPP})
41 SOURCE_GROUP(KDIS\\Extras FILES ${KDIS_SRC_EX_CPP})
42 SOURCE_GROUP(KDIS\\Network FILES ${KDIS_SRC_NET_CPP})
44 #Include directories in project settings
46 INCLUDE_DIRECTORIES(${KDIS_SOURCE_DIR})
47 INCLUDE_DIRECTORIES(${KDIS_SOURCE_DIR}/Examples)
49 #Create the project
51 SET(KDIS_FILES_H
52     ${KDIS_SRC_BASE_H} 
53     ${KDIS_SRC_DATATYPES_H} 
54     ${KDIS_SRC_ENUMS_H}
55     ${KDIS_SRC_PDU_BASE_H}
56     ${KDIS_SRC_PDU_DER_H}
57     ${KDIS_SRC_PDU_EII_H}
58     ${KDIS_SRC_PDU_EM_H}
59     ${KDIS_SRC_PDU_LE_H}
60     ${KDIS_SRC_PDU_L_H}
61         ${KDIS_SRC_PDU_M_H}
62     ${KDIS_SRC_PDU_R_H}
63     ${KDIS_SRC_PDU_SM_H}
64     ${KDIS_SRC_PDU_SMWR_H}
65     ${KDIS_SRC_PDU_SE_H}
66     ${KDIS_SRC_PDU_W_H}
67         ${KDIS_SRC_PDU_IO_H}
68     ${KDIS_SRC_EX_H}
69         ${KDIS_SRC_NET_H}
70     KDIS.cpp
71         EntityGenerator.h       
74 IF(NOT BUILD_EXAMPLES_TO_LINK_TO_LIB)
76 SET(KDIS_FILES_CPP
77     ${KDIS_SRC_BASE_CPP} 
78     ${KDIS_SRC_DATATYPES_CPP}
79     ${KDIS_SRC_ENUMS_CPP}
80     ${KDIS_SRC_PDU_BASE_CPP}
81     ${KDIS_SRC_PDU_DER_CPP}
82     ${KDIS_SRC_PDU_EII_CPP}
83     ${KDIS_SRC_PDU_EM_CPP}
84     ${KDIS_SRC_PDU_LE_CPP}
85     ${KDIS_SRC_PDU_L_CPP}
86         ${KDIS_SRC_PDU_M_CPP}
87     ${KDIS_SRC_PDU_R_CPP}
88     ${KDIS_SRC_PDU_SM_CPP}
89     ${KDIS_SRC_PDU_SMWR_CPP}
90     ${KDIS_SRC_PDU_SE_CPP}
91     ${KDIS_SRC_PDU_W_CPP}
92         ${KDIS_SRC_PDU_IO_CPP}
93     ${KDIS_SRC_EX_CPP}
94         ${KDIS_SRC_NET_CPP}     
97 ENDIF(NOT BUILD_EXAMPLES_TO_LINK_TO_LIB)
99 SET(KDIS_FILES ${KDIS_FILES_CPP} ${KDIS_FILES_H} )
101 SET(BIN_NAME Example_Bundle)
104 ADD_EXECUTABLE(${BIN_NAME} ${KDIS_FILES})
106 SET_PROPERTY(TARGET Example_Bundle PROPERTY FOLDER "Examples/PDU")
108 #Lower the warning level
109 IF(MSVC)
110     ADD_DEFINITIONS(/W1)
111 ENDIF(MSVC)
113 IF(BUILD_EXAMPLES_TO_LINK_TO_LIB)
115     IF(EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES STATIC)
116         TARGET_LINK_LIBRARIES(${BIN_NAME} KDIS_LIB)
117     ENDIF(EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES STATIC)
118     
119     IF(EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES SHARED)
120         TARGET_LINK_LIBRARIES(${BIN_NAME} KDIS_DLL)
121         ADD_DEFINITIONS(-D "IMPORT_KDIS")
122     ENDIF(EXAMPLES_USE_STATIC_OR_SHARED_LIB MATCHES SHARED)
123     
124 ENDIF(BUILD_EXAMPLES_TO_LINK_TO_LIB)
126 IF(DIS_VERSION MATCHES 6)
127         ADD_DEFINITIONS(-D "DIS_VERSION=6")
128 ENDIF(DIS_VERSION MATCHES 6)
130 IF(DIS_VERSION MATCHES 5)
131         ADD_DEFINITIONS(-D "DIS_VERSION=5")
132 ENDIF(DIS_VERSION MATCHES 5)
134 IF(DIS_VERSION MATCHES 7)
135         ADD_DEFINITIONS(-D "DIS_VERSION=7")
136 ENDIF(DIS_VERSION MATCHES 7)
138 IF(KDIS_USE_ENUM_DESCRIPTORS)
139         ADD_DEFINITIONS(-D "KDIS_USE_ENUM_DESCRIPTORS")
140 ENDIF(KDIS_USE_ENUM_DESCRIPTORS) 
142 TARGET_LINK_LIBRARIES(${BIN_NAME} ${RT_LIBRARY})