e92d322d |
1 | # Caution! Be careful, when increase minimal cmake version: |
2 | # using of newer version may leads (by default) to applying |
3 | # of some new policies. It may break compilation. |
4 | # For canceling of applying new policies use: |
5 | # cmake_policy(PUSH) before `cmake_minimum_required` |
6 | # and cmake_policy(POP) after. |
7 | cmake_minimum_required (VERSION 3.1 FATAL_ERROR) |
234e52be |
8 | |
9 | project (mfcsample) |
10 | |
576f8b11 |
11 | add_definitions(-DWINVER=0x0501 -D_AFXEXT -DUNICODE -D_UNICODE) |
0553a8ea |
12 | |
13 | if (NOT BUILD_SHARED_LIBS AND WIN32) |
14 | add_definitions ("-DOCCT_STATIC_BUILD") |
15 | endif() |
16 | |
576f8b11 |
17 | set (CMAKE_MFC_FLAG 2) |
234e52be |
18 | |
19 | # mfcsample |
20 | set (mfcsample_SOURCE_FILES ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/mfcsample.cpp |
21 | ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/StdAfx.cpp ) |
22 | |
23 | SET (MFC_STANDARD_COMMON_SAMPLES_DIR "${MFC_STANDARD_SAMPLES_DIR}/Common") |
24 | set (COMMON_SOURCE_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.cpp |
25 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dDoc.cpp |
26 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dChildFrame.cpp |
27 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dView.cpp |
28 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dBaseDoc.cpp |
29 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_App.cpp |
30 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dDoc.cpp |
31 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dChildFrame.cpp |
32 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dView.cpp |
33 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseDoc.cpp |
34 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.cpp |
35 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.cpp |
36 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.cpp |
90e82f70 |
37 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.cpp |
4a0c5c25 |
38 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.cpp |
234e52be |
39 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.cpp |
234e52be |
40 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.cpp |
41 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.cpp |
42 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.cpp |
43 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.cpp |
44 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/RadiusParamsPage.cpp |
45 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgesPage.cpp |
46 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.cpp |
47 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AngleParamsVerticesPage.cpp) |
48 | |
49 | # Common ImportExport |
50 | set (COMMON_IE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ImportExport) |
51 | set (COMMON_IE_HEADER_FILES ${COMMON_IE_DIR}/ImportExport.h |
234e52be |
52 | ${COMMON_IE_DIR}/SaveSTEPDlg.h ) |
53 | set (COMMON_IE_SOURCE_FILES ${COMMON_IE_DIR}/ImportExport.cpp |
234e52be |
54 | ${COMMON_IE_DIR}/SaveSTEPDlg.cpp ) |
55 | |
56 | # Common ISession2D |
57 | set (COMMON_ISESSION2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ISession2D) |
58 | set (COMMON_ISESSION2D_HEADER_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.h ) |
59 | set (COMMON_ISESSION2D_SOURCE_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.cpp ) |
60 | |
234e52be |
61 | # Common Resource2D |
62 | set (COMMON_RESOURCE2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/Resource2D) |
63 | set (COMMON_RESOURCE2D_HEADER_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.h |
64 | ${COMMON_RESOURCE2D_DIR}/RectangularGrid.h ) |
65 | set (COMMON_RESOURCE2D_SOURCE_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.cpp |
66 | ${COMMON_RESOURCE2D_DIR}/RectangularGrid.cpp ) |
67 | |
68 | # Common headers |
69 | set (COMMON_HEADER_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.h |
70 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dDoc.h |
71 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dChildFrame.h |
72 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dView.h |
73 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dBaseDoc.h |
74 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_App.h |
75 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dDoc.h |
76 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dChildFrame.h |
77 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dView.h |
78 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseDoc.h |
79 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.h |
80 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.h |
81 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.h |
90e82f70 |
82 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.h |
4a0c5c25 |
83 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h |
234e52be |
84 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.h |
85 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.hxx |
86 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.h |
87 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.h |
88 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.h |
89 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.h |
90 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/RadiusParamsPage.h |
91 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgesPage.h |
92 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.h |
93 | ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AngleParamsVerticesPage.h) |
94 | |
95 | |
96 | # Common resources |
97 | set (COMMON_RESOURCE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/res) |
98 | set (COMMON_RESOURCE_FILES ${COMMON_RESOURCE_DIR}/2dChildFrameTB.bmp |
99 | ${COMMON_RESOURCE_DIR}/2dType.ico |
100 | ${COMMON_RESOURCE_DIR}/3dChildFrameTB.bmp |
101 | ${COMMON_RESOURCE_DIR}/3dType.ico |
102 | ${COMMON_RESOURCE_DIR}/AIS_TB.bmp |
103 | ${COMMON_RESOURCE_DIR}/coloredm.bmp |
104 | ${COMMON_RESOURCE_DIR}/MainFrame.ico |
105 | ${COMMON_RESOURCE_DIR}/occ_logo.bmp |
106 | ${COMMON_RESOURCE_DIR}/OCC_Resource.rc) |
107 | |
108 | # groups in the VS solution |
109 | source_group ( "Header Files" FILES ${COMMON_HEADER_FILES} |
110 | ${COMMON_IE_HEADER_FILES} |
234e52be |
111 | ${COMMON_RESOURCE2D_HEADER_FILES} |
112 | ${COMMON_ISESSION2D_HEADER_FILES}) |
113 | |
114 | source_group ("Source Files" FILES ${mfcsample_SOURCE_FILES} |
115 | ${COMMON_SOURCE_FILES} |
116 | ${COMMON_IE_SOURCE_FILES} |
234e52be |
117 | ${COMMON_RESOURCE2D_SOURCE_FILES} |
118 | ${COMMON_ISESSION2D_SOURCE_FILES}) |
119 | |
120 | source_group ( "Resource Files" FILES ${COMMON_RESOURCE_FILES}) |
121 | |
122 | # mfcsample library |
0553a8ea |
123 | add_library ( mfcsample ${mfcsample_SOURCE_FILES} |
234e52be |
124 | ${COMMON_HEADER_FILES} |
125 | ${COMMON_SOURCE_FILES} |
126 | ${COMMON_IE_HEADER_FILES} |
127 | ${COMMON_IE_SOURCE_FILES} |
234e52be |
128 | ${COMMON_RESOURCE2D_HEADER_FILES} |
129 | ${COMMON_RESOURCE2D_SOURCE_FILES} |
130 | ${COMMON_ISESSION2D_HEADER_FILES} |
131 | ${COMMON_ISESSION2D_SOURCE_FILES} |
132 | ${COMMON_RESOURCE_FILES}) |
133 | |
510d9690 |
134 | set_property (TARGET mfcsample PROPERTY FOLDER "Samples/mfc") |
234e52be |
135 | |
4b3541c6 |
136 | if (SINGLE_GENERATOR) |
137 | install (TARGETS mfcsample |
d26375e2 |
138 | RUNTIME DESTINATION "${INSTALL_DIR_BIN}" |
139 | ARCHIVE DESTINATION "${INSTALL_DIR_LIB}" |
140 | LIBRARY DESTINATION "${INSTALL_DIR_LIB}") |
4b3541c6 |
141 | else() |
142 | install (TARGETS mfcsample |
143 | CONFIGURATIONS Release RelWithDebInfo |
d26375e2 |
144 | RUNTIME DESTINATION "${INSTALL_DIR_BIN}" |
145 | ARCHIVE DESTINATION "${INSTALL_DIR_LIB}" |
146 | LIBRARY DESTINATION "${INSTALL_DIR_LIB}") |
4b3541c6 |
147 | install (TARGETS mfcsample |
148 | CONFIGURATIONS Debug |
d26375e2 |
149 | RUNTIME DESTINATION "${INSTALL_DIR_BIN}d" |
150 | ARCHIVE DESTINATION "${INSTALL_DIR_LIB}d" |
151 | LIBRARY DESTINATION "${INSTALL_DIR_LIB}d") |
4b3541c6 |
152 | endif() |
9e3ca93a |
153 | |
154 | include_directories( ${CMAKE_BINARY_DIR}/inc |
234e52be |
155 | ${MFC_STANDARD_COMMON_SAMPLES_DIR} |
156 | ${COMMON_IE_DIR} |
157 | ${COMMON_ISESSION2D_DIR} |
234e52be |
158 | ${COMMON_RESOURCE2D_DIR}) |
159 | |
160 | # OCCT libraries for using |
bd651bbb |
161 | set (mfcsample_USED_LIBS TKDEVRML |
162 | TKDESTL |
234e52be |
163 | TKBRep |
bd651bbb |
164 | TKDEIGES |
234e52be |
165 | TKShHealing |
bd651bbb |
166 | TKDESTEP |
234e52be |
167 | TKXSBase |
234e52be |
168 | TKBool |
0553a8ea |
169 | TKBO |
234e52be |
170 | TKCAF |
171 | TKCDF |
172 | TKernel |
173 | TKFeat |
174 | TKFillet |
175 | TKG2d |
176 | TKG3d |
177 | TKGeomAlgo |
178 | TKGeomBase |
179 | TKHLR |
180 | TKMath |
181 | TKOffset |
182 | TKOpenGl |
234e52be |
183 | TKPrim |
234e52be |
184 | TKService |
185 | TKTopAlgo |
186 | TKMesh |
0553a8ea |
187 | TKV3d |
188 | ${CSF_OpenGlLibs}) |
234e52be |
189 | |
0553a8ea |
190 | target_link_libraries (mfcsample ${mfcsample_USED_LIBS}) |