cmake_minimum_required (VERSION 2.6) project (mfcsample) add_definitions(-DWINVER=0x0501 -D_AFXEXT -DUNICODE -D_UNICODE) if (NOT BUILD_SHARED_LIBS AND WIN32) add_definitions ("-DOCCT_STATIC_BUILD") endif() 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}/SaveSTEPDlg.h ) set (COMMON_IE_SOURCE_FILES ${COMMON_IE_DIR}/ImportExport.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 ) set (COMMON_PRIMITIVE_SOURCE_FILES ${COMMON_PRIMITIVE_DIR}/Sample2D_Face.cpp ${COMMON_PRIMITIVE_DIR}/Sample2D_Image.cpp ${COMMON_PRIMITIVE_DIR}/Sample2D_Markers.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 ${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) if (SINGLE_GENERATOR) install (TARGETS mfcsample RUNTIME DESTINATION "${INSTALL_DIR_BIN}" ARCHIVE DESTINATION "${INSTALL_DIR_LIB}" LIBRARY DESTINATION "${INSTALL_DIR_LIB}") else() install (TARGETS mfcsample CONFIGURATIONS Release RelWithDebInfo RUNTIME DESTINATION "${INSTALL_DIR_BIN}" ARCHIVE DESTINATION "${INSTALL_DIR_LIB}" LIBRARY DESTINATION "${INSTALL_DIR_LIB}") install (TARGETS mfcsample CONFIGURATIONS Debug RUNTIME DESTINATION "${INSTALL_DIR_BIN}d" ARCHIVE DESTINATION "${INSTALL_DIR_LIB}d" LIBRARY DESTINATION "${INSTALL_DIR_LIB}d") endif() include_directories( ${CMAKE_BINARY_DIR}/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 TKSTEPBase TKSTEP209 TKSTEPAttr TKXSBase TKBool TKBO TKCAF TKCDF TKernel TKFeat TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKMath TKOffset TKOpenGl TKPrim TKService TKTopAlgo TKMesh TKV3d ${CSF_OpenGlLibs}) target_link_libraries (mfcsample ${mfcsample_USED_LIBS})