cmake_minimum_required (VERSION 2.6) project (mfcsample) add_definitions(-DWINVER=0x0501 -D_AFXEXT -DUNICODE -D_UNICODE) set (CMAKE_MFC_FLAG 2) # mfcsample set (mfcsample_SOURCE_FILES ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/mfcsample.cpp ${MFC_STANDARD_SAMPLES_DIR}/mfcsample/src/StdAfx.cpp ) SET (MFC_STANDARD_COMMON_SAMPLES_DIR "${MFC_STANDARD_SAMPLES_DIR}/Common") set (COMMON_SOURCE_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dDoc.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dChildFrame.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dView.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dBaseDoc.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_App.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dDoc.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dChildFrame.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dView.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseDoc.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.cxx ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/RadiusParamsPage.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgesPage.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.cpp ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AngleParamsVerticesPage.cpp) # Common ImportExport set (COMMON_IE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ImportExport) set (COMMON_IE_HEADER_FILES ${COMMON_IE_DIR}/ImportExport.h ${COMMON_IE_DIR}/SaveCSFDBDlg.h ${COMMON_IE_DIR}/SaveSTEPDlg.h ) set (COMMON_IE_SOURCE_FILES ${COMMON_IE_DIR}/ImportExport.cpp ${COMMON_IE_DIR}/SaveCSFDBDlg.cpp ${COMMON_IE_DIR}/SaveSTEPDlg.cpp ) # Common ISession2D set (COMMON_ISESSION2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ISession2D) set (COMMON_ISESSION2D_HEADER_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.h ) set (COMMON_ISESSION2D_SOURCE_FILES ${COMMON_ISESSION2D_DIR}/ISession2D_Shape.cpp ) # Common Primitive set (COMMON_PRIMITIVE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/Primitive) set (COMMON_PRIMITIVE_HEADER_FILES ${COMMON_PRIMITIVE_DIR}/Sample2D_Face.h ${COMMON_PRIMITIVE_DIR}/Sample2D_Image.h ${COMMON_PRIMITIVE_DIR}/Sample2D_Markers.h ${COMMON_PRIMITIVE_DIR}/Sample2D_Text.h ) set (COMMON_PRIMITIVE_SOURCE_FILES ${COMMON_PRIMITIVE_DIR}/Sample2D_Face.cpp ${COMMON_PRIMITIVE_DIR}/Sample2D_Image.cpp ${COMMON_PRIMITIVE_DIR}/Sample2D_Markers.cpp ${COMMON_PRIMITIVE_DIR}/Sample2D_Text.cpp ) # Common Resource2D set (COMMON_RESOURCE2D_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/Resource2D) set (COMMON_RESOURCE2D_HEADER_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.h ${COMMON_RESOURCE2D_DIR}/RectangularGrid.h ) set (COMMON_RESOURCE2D_SOURCE_FILES ${COMMON_RESOURCE2D_DIR}/CircularGrid.cpp ${COMMON_RESOURCE2D_DIR}/RectangularGrid.cpp ) # Common headers set (COMMON_HEADER_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dDoc.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dChildFrame.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_2dView.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dBaseDoc.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_App.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dDoc.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dChildFrame.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_3dView.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseDoc.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.hxx ${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/RadiusParamsPage.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgesPage.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsVerticesPage.h ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AngleParamsVerticesPage.h) # Common resources set (COMMON_RESOURCE_DIR ${MFC_STANDARD_COMMON_SAMPLES_DIR}/res) set (COMMON_RESOURCE_FILES ${COMMON_RESOURCE_DIR}/2dChildFrameTB.bmp ${COMMON_RESOURCE_DIR}/2dType.ico ${COMMON_RESOURCE_DIR}/3dChildFrameTB.bmp ${COMMON_RESOURCE_DIR}/3dType.ico ${COMMON_RESOURCE_DIR}/AIS_TB.bmp ${COMMON_RESOURCE_DIR}/coloredm.bmp ${COMMON_RESOURCE_DIR}/MainFrame.ico ${COMMON_RESOURCE_DIR}/occ_logo.bmp ${COMMON_RESOURCE_DIR}/OCC_Resource.rc) # groups in the VS solution source_group ( "Header Files" FILES ${COMMON_HEADER_FILES} ${COMMON_IE_HEADER_FILES} ${COMMON_PRIMITIVE_HEADER_FILES} ${COMMON_RESOURCE2D_HEADER_FILES} ${COMMON_ISESSION2D_HEADER_FILES}) source_group ("Source Files" FILES ${mfcsample_SOURCE_FILES} ${COMMON_SOURCE_FILES} ${COMMON_IE_SOURCE_FILES} ${COMMON_PRIMITIVE_SOURCE_FILES} ${COMMON_RESOURCE2D_SOURCE_FILES} ${COMMON_ISESSION2D_SOURCE_FILES}) source_group ( "Resource Files" FILES ${COMMON_RESOURCE_FILES}) # mfcsample library add_library ( mfcsample SHARED ${mfcsample_SOURCE_FILES} ${COMMON_HEADER_FILES} ${COMMON_SOURCE_FILES} ${COMMON_IE_HEADER_FILES} ${COMMON_IE_SOURCE_FILES} ${COMMON_PRIMITIVE_HEADER_FILES} ${COMMON_PRIMITIVE_SOURCE_FILES} ${COMMON_RESOURCE2D_HEADER_FILES} ${COMMON_RESOURCE2D_SOURCE_FILES} ${COMMON_ISESSION2D_HEADER_FILES} ${COMMON_ISESSION2D_SOURCE_FILES} ${COMMON_RESOURCE_FILES}) set_property (TARGET mfcsample PROPERTY FOLDER Samples) install (TARGETS mfcsample RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/bin${BUILD_POSTFIX}" ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") include_directories( ${OCCT_ROOT}/inc ${MFC_STANDARD_COMMON_SAMPLES_DIR} ${COMMON_IE_DIR} ${COMMON_ISESSION2D_DIR} ${COMMON_PRIMITIVE_DIR} ${COMMON_RESOURCE2D_DIR}) # OCCT libraries for using set (mfcsample_USED_LIBS TKVRML TKSTL TKBRep TKIGES TKShHealing TKSTEP TKXSBase TKShapeSchema FWOSPlugin PTKernel TKBool TKCAF TKCDF TKernel TKFeat TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKMath TKOffset TKOpenGl TKPCAF TKPrim TKPShape TKService TKTopAlgo TKMesh TKV3d) target_link_libraries (mfcsample ${mfcsample_USED_LIBS})