-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
134 lines (118 loc) · 2.65 KB
/
CMakeLists.txt
File metadata and controls
134 lines (118 loc) · 2.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
cmake_minimum_required(VERSION 2.6)
PROJECT( MeshTools )
# Define the list of source files
#
SET(APPLICATION_SOURCES
MeshToolsMain.cxx
font.cpp
StdAfx.cpp
Container.cxx
Container_Mesh.cxx
Fl_Value_Roller.cxx
CDataFile.cpp
Object.cxx
Object_Mesh.cxx
Object_Log.cxx
Object_Landmark.cxx
SpecialSlider2.cxx
SpecialSlider3.cxx
SpecialRoller2.cxx
SpecialRoller3.cxx
SpecialRoller4.cxx
Struct.cxx
MeshTools.cxx
MeshToolsUI.cxx
vtkOBJWriter.cxx
Icp.cpp
KDtree.cpp
LandmarksTransform.cpp
)
SET(APPLICATION_HEADERS
font.h
StdAfx.h
Container.h
Container_Mesh.h
Fl_Value_Roller.h
CDataFile.h
Object.h
Object_Mesh.h
Object_Log.h
Object_Landmark.h
SpecialSlider2.h
SpecialSlider3.h
SpecialRoller2.h
SpecialRoller3.h
SpecialRoller4.h
Struct.h
Struct2.h
MeshTools.h
MeshToolsUI.h
vtkOBJWriter.h
Icp.h
KDtree.h
LandmarksTransform.h
)
find_package(GLEW REQUIRED)
if (GLEW_FOUND)
include_directories(${GLEW_INCLUDE_DIRS})
link_libraries(${GLEW_LIBRARIES})
endif()
FIND_PACKAGE(OpenGL)
IF(OPENGL_INCLUDE_PATH)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_PATH})
ENDIF(OPENGL_INCLUDE_PATH)
FIND_PACKAGE(FLTK)
IF(FLTK_FOUND)
INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIR})
ENDIF(FLTK_FOUND)
FIND_PACKAGE( VTK REQUIRED)
# define needed VTK Modules
set( required_vtk_modules
vtkCommonComputationalGeometry
vtkCommonCore
vtkCommonDataModel
vtkCommonExecutionModel
vtkCommonMath
vtkCommonMisc
vtkCommonSystem
vtkCommonTransforms
vtkFiltersCore
vtkFiltersExtraction
vtkFiltersGeneral
vtkIOCore
vtkIOGeometry
vtkIOLegacy
vtkIOXML
vtkIOXMLParser
vtkFiltersModeling
vtkFiltersHybrid
vtkIOImport
vtkRenderingCore
# vtkRenderingOpenGL
vtkIOPLY
)
if(VTK_RENDERING_BACKEND) #in vtk 7, the rendering backend is exported as a var.
LIST(APPEND required_vtk_modules vtkRendering${VTK_RENDERING_BACKEND})
else(VTK_RENDERING_BACKEND)
LIST(APPEND required_vtk_modules vtkRenderingOpenGL)
endif(VTK_RENDERING_BACKEND)
find_package( VTK REQUIRED COMPONENTS ${required_vtk_modules} )
OPTION(CMAKE_INSTALL_PREFIX ".")
INCLUDE(${VTK_USE_FILE})
IF(VTK_FOUND)
INCLUDE_DIRECTORIES(${VTK_INCLUDE_DIR})
ENDIF(VTK_FOUND)
IF(OPENGL_glu_LIBRARY)
SET( OPENGL_GLU_FOUND "YES" )
SET( OPENGL_LIBRARIES ${OPENGL_glu_LIBRARY} ${OPENGL_LIBRARIES} )
ENDIF(OPENGL_glu_LIBRARY)
ADD_EXECUTABLE( MeshTools ${APPLICATION_SOURCES} ${APPLICATION_HEADERS})
LINK_LIBRARIES(${OPENGL_LIBRARIES})
TARGET_LINK_LIBRARIES( MeshTools
${FLTK_LIBRARIES}
${OPENGL_LIBRARIES}
${VTK_LIBRARIES}
)
INSTALL(TARGETS MeshTools
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
)