1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
occt/samples/mfc/standard/mfcsample/CMakeLists.txt
ibs 32856b630d 0024629: Possibility to install binaries in vc*/bin(d), vc*/lib(d) directories
Install occt folder now can contain several occt configurations

- custom.bat/sh was added to include specific (for each occt config) custom.bat/sh files
- specific custom.bat/sh is added for each configuration (e.g., custom_vc9_win32_d.bat), generated by cmake and included within custom.bat/sh
- draw.bat has three argument, e.g., vc9 win32 debug (as occt behavior)
- sample.bat has one or four arguments, e.g., sample_name vc8 win64 release
- PATH is not changed. DRAWEXE.exe is called from specific folder

patched custom.[bat/sh].[main/in] files have higher priority than origin ones

Documentation was updated to describe new features of CMake

Seeking process of OpenCL include folder was fixed
2014-04-30 13:07:01 +04:00

186 lines
10 KiB
CMake

cmake_minimum_required (VERSION 2.6)
project (mfcsample)
add_definitions(-DWINVER=0x0500 -D_AFXEXT)
# 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_SUFFIX}"
ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_SUFFIX}"
LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_SUFFIX}")
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})