0024927: Getting rid of "Persistent" functionality -- Samples and data
[occt.git] / samples / mfc / occtdemo / adm / cmake / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2
3 set (PROJECT occtdemo)
4
5 project (${PROJECT} CXX)
6
7 set( OCC_CASROOT  "" CACHE PATH "OpenCascade Root")
8 set( OCC_LIB_PATH "" CACHE PATH "OpenCascade LIB PATH")
9
10 set( OCCTDEMO_DIR ${OCC_CASROOT}/samples/mfc/occtdemo)
11
12 if (DEFINED MSVC70)
13   SET(COMPILER vc7)
14 elseif (DEFINED MSVC80)
15   SET(COMPILER vc8)
16 elseif (DEFINED MSVC90)
17   SET(COMPILER vc9)
18 elseif (DEFINED MSVC10)
19   SET(COMPILER vc10)
20 elseif (DEFINED MSVC11)
21   SET(COMPILER vc11)
22 else()
23   SET(COMPILER ${CMAKE_GENERATOR})
24 endif()
25
26
27 if ( CMAKE_GENERATOR MATCHES "Win64" )
28    set ( BITNESS "64" )
29 else() 
30    set ( BITNESS "32" )
31 endif()
32
33 set ( OCC_SAMPLES_OUTPUT_PATH 
34          ${CMAKE_BINARY_DIR}/win${BITNESS}/${COMPILER}
35          CACHE PATH "MFC Samples libraries path" )
36
37 # add OCC headers 
38 include_directories ( ${OCC_CASROOT}/inc )
39
40 # add OCC libraries
41 link_directories( ${OCC_LIB_PATH} )
42
43
44 set(CMAKE_MFC_FLAG 2)
45 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WIN32_WINNT=0x0501")
46 add_definitions(-D_WIN32_WINNT=0x0501)
47 add_definitions(/DWNT -wd4996)
48 add_definitions(-D_AFXDLL)
49 add_definitions(-D_AFXEXT)
50
51
52 # Common part
53 set (COMMON_SRC_DIR ${OCCTDEMO_DIR}/Common)
54 set (COMMON_WNT_DIR ${COMMON_SRC_DIR}/WNT)
55 set (COMMON_ISESSION_DIR ${COMMON_SRC_DIR}/ISession)
56
57 set (COMMON_SRCFILES ${COMMON_SRC_DIR}/OCCDemo_Presentation.cpp
58                      ${COMMON_ISESSION_DIR}/ISession_Curve.cpp
59                      ${COMMON_WNT_DIR}/MainFrm.cpp
60                      ${COMMON_WNT_DIR}/OCCDemo.cpp
61                      ${COMMON_WNT_DIR}/OCCDemoDoc.cpp
62                      ${COMMON_WNT_DIR}/OCCDemoView.cpp
63                      ${COMMON_WNT_DIR}/ResultDialog.cpp
64                      ${COMMON_WNT_DIR}/StdAfx.cpp )
65
66 set (COMMON_HEADERS  ${COMMON_SRC_DIR}/OCCDemo_Presentation.h
67                      ${COMMON_ISESSION_DIR}/ISession_Curve.h
68                      ${COMMON_WNT_DIR}/MainFrm.h
69                      ${COMMON_WNT_DIR}/OCCDemo.h
70                      ${COMMON_WNT_DIR}/OCCDemoDoc.h
71                      ${COMMON_WNT_DIR}/OCCDemoView.h
72                      ${COMMON_WNT_DIR}/ResultDialog.h
73                      ${COMMON_WNT_DIR}/StdAfx.h 
74                      ${COMMON_WNT_DIR}/resource.h )
75
76 set (COMMON_RESFILES ${COMMON_WNT_DIR}/OCCDemo.rc
77                      ${COMMON_WNT_DIR}/res/occ_logo.bmp
78                      ${COMMON_WNT_DIR}/res/OCCDemo.ico
79                      ${COMMON_WNT_DIR}/res/OCCDemo.rc2
80                      ${COMMON_WNT_DIR}/res/toolbar.bmp
81                      ${COMMON_WNT_DIR}/res/toolbar1.bmp )
82   
83 # include common headers
84 include_directories ( ${COMMON_SRC_DIR} )
85 include_directories ( ${COMMON_ISESSION_DIR} )
86 include_directories ( ${COMMON_WNT_DIR} )
87
88
89 set ( PROJECTS          Approx
90                         Chamfers
91                         Convert
92                         DCA
93                         Extrema
94                         GeomConstraints
95                         Glue
96                         GProps
97                         HLR
98                         Interpol
99                         Intersections
100                         LProps
101                         Offset2d
102                         PointOnCurve
103                         Primitives
104                         Projection
105                         Simplify
106                         SplitShape
107                         Sweep
108                         Tesselate
109                         TexturesExt
110                         ThruSections
111                         Transform
112                         Validate )
113
114 foreach (Project ${PROJECTS})
115   add_subdirectory(${Project} ${CMAKE_BINARY_DIR}/${Project})
116 endforeach ()
117