0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / samples / mfc / standard / mfcsample / CMakeLists.txt
CommitLineData
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.
7cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
234e52be 8
9project (mfcsample)
10
576f8b11 11add_definitions(-DWINVER=0x0501 -D_AFXEXT -DUNICODE -D_UNICODE)
0553a8ea 12
13if (NOT BUILD_SHARED_LIBS AND WIN32)
14 add_definitions ("-DOCCT_STATIC_BUILD")
15endif()
16
576f8b11 17set (CMAKE_MFC_FLAG 2)
234e52be 18
19# mfcsample
20set (mfcsample_SOURCE_FILES ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/mfcsample.cpp
21 ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/StdAfx.cpp )
22
23SET (MFC_STANDARD_COMMON_SAMPLES_DIR "${MFC_STANDARD_SAMPLES_DIR}/Common")
24set (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
50set (COMMON_IE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ImportExport)
51set (COMMON_IE_HEADER_FILES ${COMMON_IE_DIR}/ImportExport.h
234e52be 52 ${COMMON_IE_DIR}/SaveSTEPDlg.h )
53set (COMMON_IE_SOURCE_FILES ${COMMON_IE_DIR}/ImportExport.cpp
234e52be 54 ${COMMON_IE_DIR}/SaveSTEPDlg.cpp )
55
56# Common ISession2D
57set (COMMON_ISESSION2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ISession2D)
58set (COMMON_ISESSION2D_HEADER_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.h )
59set (COMMON_ISESSION2D_SOURCE_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.cpp )
60
234e52be 61# Common Resource2D
62set (COMMON_RESOURCE2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/Resource2D)
63set (COMMON_RESOURCE2D_HEADER_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.h
64 ${COMMON_RESOURCE2D_DIR}/RectangularGrid.h )
65set (COMMON_RESOURCE2D_SOURCE_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.cpp
66 ${COMMON_RESOURCE2D_DIR}/RectangularGrid.cpp )
67
68# Common headers
69set (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
97set (COMMON_RESOURCE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/res)
98set (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
109source_group ( "Header Files" FILES ${COMMON_HEADER_FILES}
110 ${COMMON_IE_HEADER_FILES}
234e52be 111 ${COMMON_RESOURCE2D_HEADER_FILES}
112 ${COMMON_ISESSION2D_HEADER_FILES})
113
114source_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
120source_group ( "Resource Files" FILES ${COMMON_RESOURCE_FILES})
121
122# mfcsample library
0553a8ea 123add_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 134set_property (TARGET mfcsample PROPERTY FOLDER "Samples/mfc")
234e52be 135
4b3541c6 136if (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 141else()
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 152endif()
9e3ca93a 153
154include_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 161set (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 190target_link_libraries (mfcsample ${mfcsample_USED_LIBS})