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}/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 ${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 CONFIGURATIONS Release RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin" ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") install (TARGETS mfcsample CONFIGURATIONS RelWithDebInfo RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin" ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") install (TARGETS mfcsample CONFIGURATIONS Debug RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind" ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd") 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 TKXSBase FWOSPlugin TKBool TKCAF TKCDF TKernel TKFeat TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKMath TKOffset TKOpenGl TKPrim TKService TKTopAlgo TKMesh TKV3d) target_link_libraries (mfcsample ${mfcsample_USED_LIBS})