0024023: Revamp the OCCT Handle - non-cost reference cast
[occt.git] / samples / mfc / standard / mfcsample / CMakeLists.txt
CommitLineData
234e52be 1cmake_minimum_required (VERSION 2.6)
2
3project (mfcsample)
4
576f8b11 5add_definitions(-DWINVER=0x0501 -D_AFXEXT -DUNICODE -D_UNICODE)
6set (CMAKE_MFC_FLAG 2)
234e52be 7
8# mfcsample
9set (mfcsample_SOURCE_FILES ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/mfcsample.cpp
10 ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/StdAfx.cpp )
11
12SET (MFC_STANDARD_COMMON_SAMPLES_DIR "${MFC_STANDARD_SAMPLES_DIR}/Common")
13set (COMMON_SOURCE_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.cpp
14 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dDoc.cpp
15 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dChildFrame.cpp
16 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dView.cpp
17 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dBaseDoc.cpp
18 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_App.cpp
19 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dDoc.cpp
20 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dChildFrame.cpp
21 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dView.cpp
22 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseDoc.cpp
23 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.cpp
24 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.cpp
25 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.cpp
90e82f70 26 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.cpp
4a0c5c25 27 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.cpp
234e52be 28 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.cpp
29 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.cxx
30 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.cpp
31 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.cpp
32 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.cpp
33 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.cpp
34 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/RadiusParamsPage.cpp
35 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgesPage.cpp
36 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.cpp
37 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AngleParamsVerticesPage.cpp)
38
39# Common ImportExport
40set (COMMON_IE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ImportExport)
41set (COMMON_IE_HEADER_FILES ${COMMON_IE_DIR}/ImportExport.h
234e52be 42 ${COMMON_IE_DIR}/SaveSTEPDlg.h )
43set (COMMON_IE_SOURCE_FILES ${COMMON_IE_DIR}/ImportExport.cpp
234e52be 44 ${COMMON_IE_DIR}/SaveSTEPDlg.cpp )
45
46# Common ISession2D
47set (COMMON_ISESSION2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ISession2D)
48set (COMMON_ISESSION2D_HEADER_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.h )
49set (COMMON_ISESSION2D_SOURCE_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.cpp )
50
51# Common Primitive
52set (COMMON_PRIMITIVE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/Primitive)
53set (COMMON_PRIMITIVE_HEADER_FILES ${COMMON_PRIMITIVE_DIR}/Sample2D_Face.h
54 ${COMMON_PRIMITIVE_DIR}/Sample2D_Image.h
55 ${COMMON_PRIMITIVE_DIR}/Sample2D_Markers.h
56 ${COMMON_PRIMITIVE_DIR}/Sample2D_Text.h )
57set (COMMON_PRIMITIVE_SOURCE_FILES ${COMMON_PRIMITIVE_DIR}/Sample2D_Face.cpp
58 ${COMMON_PRIMITIVE_DIR}/Sample2D_Image.cpp
59 ${COMMON_PRIMITIVE_DIR}/Sample2D_Markers.cpp
60 ${COMMON_PRIMITIVE_DIR}/Sample2D_Text.cpp )
61
62# Common Resource2D
63set (COMMON_RESOURCE2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/Resource2D)
64set (COMMON_RESOURCE2D_HEADER_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.h
65 ${COMMON_RESOURCE2D_DIR}/RectangularGrid.h )
66set (COMMON_RESOURCE2D_SOURCE_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.cpp
67 ${COMMON_RESOURCE2D_DIR}/RectangularGrid.cpp )
68
69# Common headers
70set (COMMON_HEADER_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.h
71 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dDoc.h
72 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dChildFrame.h
73 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dView.h
74 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dBaseDoc.h
75 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_App.h
76 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dDoc.h
77 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dChildFrame.h
78 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dView.h
79 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseDoc.h
80 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.h
81 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.h
82 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.h
90e82f70 83 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.h
4a0c5c25 84 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h
234e52be 85 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.h
86 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.hxx
87 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.h
88 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.h
89 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.h
90 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.h
91 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/RadiusParamsPage.h
92 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgesPage.h
93 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.h
94 ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AngleParamsVerticesPage.h)
95
96
97# Common resources
98set (COMMON_RESOURCE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/res)
99set (COMMON_RESOURCE_FILES ${COMMON_RESOURCE_DIR}/2dChildFrameTB.bmp
100 ${COMMON_RESOURCE_DIR}/2dType.ico
101 ${COMMON_RESOURCE_DIR}/3dChildFrameTB.bmp
102 ${COMMON_RESOURCE_DIR}/3dType.ico
103 ${COMMON_RESOURCE_DIR}/AIS_TB.bmp
104 ${COMMON_RESOURCE_DIR}/coloredm.bmp
105 ${COMMON_RESOURCE_DIR}/MainFrame.ico
106 ${COMMON_RESOURCE_DIR}/occ_logo.bmp
107 ${COMMON_RESOURCE_DIR}/OCC_Resource.rc)
108
109# groups in the VS solution
110source_group ( "Header Files" FILES ${COMMON_HEADER_FILES}
111 ${COMMON_IE_HEADER_FILES}
112 ${COMMON_PRIMITIVE_HEADER_FILES}
113 ${COMMON_RESOURCE2D_HEADER_FILES}
114 ${COMMON_ISESSION2D_HEADER_FILES})
115
116source_group ("Source Files" FILES ${mfcsample_SOURCE_FILES}
117 ${COMMON_SOURCE_FILES}
118 ${COMMON_IE_SOURCE_FILES}
119 ${COMMON_PRIMITIVE_SOURCE_FILES}
120 ${COMMON_RESOURCE2D_SOURCE_FILES}
121 ${COMMON_ISESSION2D_SOURCE_FILES})
122
123source_group ( "Resource Files" FILES ${COMMON_RESOURCE_FILES})
124
125# mfcsample library
126add_library ( mfcsample SHARED ${mfcsample_SOURCE_FILES}
127 ${COMMON_HEADER_FILES}
128 ${COMMON_SOURCE_FILES}
129 ${COMMON_IE_HEADER_FILES}
130 ${COMMON_IE_SOURCE_FILES}
131 ${COMMON_PRIMITIVE_HEADER_FILES}
132 ${COMMON_PRIMITIVE_SOURCE_FILES}
133 ${COMMON_RESOURCE2D_HEADER_FILES}
134 ${COMMON_RESOURCE2D_SOURCE_FILES}
135 ${COMMON_ISESSION2D_HEADER_FILES}
136 ${COMMON_ISESSION2D_SOURCE_FILES}
137 ${COMMON_RESOURCE_FILES})
138
139set_property (TARGET mfcsample PROPERTY FOLDER Samples)
140
9f33b387 141install (TARGETS mfcsample RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/bin${BUILD_POSTFIX}"
142 ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}"
143 LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}")
234e52be 144
145include_directories( ${OCCT_ROOT}/inc
146 ${MFC_STANDARD_COMMON_SAMPLES_DIR}
147 ${COMMON_IE_DIR}
148 ${COMMON_ISESSION2D_DIR}
149 ${COMMON_PRIMITIVE_DIR}
150 ${COMMON_RESOURCE2D_DIR})
151
152# OCCT libraries for using
153set (mfcsample_USED_LIBS TKVRML
154 TKSTL
155 TKBRep
156 TKIGES
157 TKShHealing
158 TKSTEP
159 TKXSBase
160 TKShapeSchema
161 FWOSPlugin
162 PTKernel
163 TKBool
164 TKCAF
165 TKCDF
166 TKernel
167 TKFeat
168 TKFillet
169 TKG2d
170 TKG3d
171 TKGeomAlgo
172 TKGeomBase
173 TKHLR
174 TKMath
175 TKOffset
176 TKOpenGl
177 TKPCAF
178 TKPrim
179 TKPShape
180 TKService
181 TKTopAlgo
182 TKMesh
183 TKV3d)
184
185target_link_libraries (mfcsample ${mfcsample_USED_LIBS})