CMakeLists.txt 7.14 KB
Newer Older
1
set ( SRC_FILES
2
3
4
5
6
7
8
9
	src/AffineMatrixParameter.cpp
	src/AffineMatrixParameterParser.cpp
	src/BoxControllerNeXusIO.cpp
	src/CoordTransformAffine.cpp
	src/CoordTransformAffineParser.cpp
	src/CoordTransformAligned.cpp
	src/CoordTransformDistance.cpp
	src/CoordTransformDistanceParser.cpp
10
11
12
	src/EventList.cpp
	src/EventWorkspace.cpp
	src/EventWorkspaceHelpers.cpp
13
	src/EventWorkspaceMRU.cpp
14
	src/Events.cpp
15
	src/FakeMD.cpp
16
	src/FractionalRebinning.cpp
17
18
	src/GroupingWorkspace.cpp
	src/Histogram1D.cpp
19
20
21
	src/MDBoxFlatTree.cpp
	src/MDBoxSaveable.cpp
	src/MDEventFactory.cpp
22
	src/MDFramesToSpecialCoordinateSystem.cpp
23
24
25
	src/MDHistoWorkspace.cpp
	src/MDHistoWorkspaceIterator.cpp
	src/MDLeanEvent.cpp
26
	src/MaskWorkspace.cpp
27
	src/MementoTableWorkspace.cpp
28
	src/NoShape.cpp
29
30
31
	src/OffsetsWorkspace.cpp
	src/Peak.cpp
	src/PeakColumn.cpp
Owen Arnold's avatar
Owen Arnold committed
32
	src/PeakNoShapeFactory.cpp
Owen Arnold's avatar
Owen Arnold committed
33
	src/PeakShapeBase.cpp
Owen Arnold's avatar
Owen Arnold committed
34
	src/PeakShapeEllipsoid.cpp
35
	src/PeakShapeEllipsoidFactory.cpp
36
	src/PeakShapeSpherical.cpp
37
	src/PeakShapeSphericalFactory.cpp
38
	src/PeaksWorkspace.cpp
39
	src/RebinnedOutput.cpp
40
	src/ReflectometryTransform.cpp
41
	src/SpecialWorkspace2D.cpp
42
	src/SplittersWorkspace.cpp
43
44
	src/TableColumn.cpp
	src/TableWorkspace.cpp
45
	src/VectorColumn.cpp
46
47
	src/Workspace2D.cpp
	src/WorkspaceSingleValue.cpp
48
)
49

50
51
52
53
set ( SRC_UNITY_IGNORE_FILES 
	src/Workspace2D.cpp
	src/WorkspaceSingleValue.cpp
	src/EventWorkspace.cpp
54
55
)

56
set ( INC_FILES
57
58
59
	inc/MantidDataObjects/AffineMatrixParameter.h
	inc/MantidDataObjects/AffineMatrixParameterParser.h
	inc/MantidDataObjects/BoxControllerNeXusIO.h
60
	inc/MantidDataObjects/CalculateReflectometry.h
61
    inc/MantidDataObjects/CalculateReflectometryKiKf.h
62
	inc/MantidDataObjects/CalculateReflectometryQxQz.h
63
    inc/MantidDataObjects/CalculateReflectometryP.h
64
65
66
67
68
	inc/MantidDataObjects/CoordTransformAffine.h
	inc/MantidDataObjects/CoordTransformAffineParser.h
	inc/MantidDataObjects/CoordTransformAligned.h
	inc/MantidDataObjects/CoordTransformDistance.h
	inc/MantidDataObjects/CoordTransformDistanceParser.h
69
70
71
72
	inc/MantidDataObjects/DllConfig.h
	inc/MantidDataObjects/EventList.h
	inc/MantidDataObjects/EventWorkspace.h
	inc/MantidDataObjects/EventWorkspaceHelpers.h
73
	inc/MantidDataObjects/EventWorkspaceMRU.h
74
	inc/MantidDataObjects/Events.h
75
	inc/MantidDataObjects/FakeMD.h
76
	inc/MantidDataObjects/FractionalRebinning.h
77
78
	inc/MantidDataObjects/GroupingWorkspace.h
	inc/MantidDataObjects/Histogram1D.h
79
	inc/MantidDataObjects/MDBin.h
80
	inc/MantidDataObjects/MDBin.tcc
81
	inc/MantidDataObjects/MDBox.h
82
	inc/MantidDataObjects/MDBox.tcc
83
	inc/MantidDataObjects/MDBoxBase.h
84
	inc/MantidDataObjects/MDBoxBase.tcc
85
86
	inc/MantidDataObjects/MDBoxFlatTree.h
	inc/MantidDataObjects/MDBoxIterator.h
87
	inc/MantidDataObjects/MDBoxIterator.tcc
88
	inc/MantidDataObjects/MDBoxSaveable.h
89
	inc/MantidDataObjects/MDDimensionStats.h
Hahn, Steven's avatar
Hahn, Steven committed
90
	inc/MantidDataObjects/MDEvent.h
91
92
93
	inc/MantidDataObjects/MDEventFactory.h
	inc/MantidDataObjects/MDEventInserter.h
	inc/MantidDataObjects/MDEventWorkspace.h
94
	inc/MantidDataObjects/MDEventWorkspace.tcc
95
	inc/MantidDataObjects/MDFramesToSpecialCoordinateSystem.h
96
	inc/MantidDataObjects/MDGridBox.h
97
	inc/MantidDataObjects/MDGridBox.tcc
98
99
100
	inc/MantidDataObjects/MDHistoWorkspace.h
	inc/MantidDataObjects/MDHistoWorkspaceIterator.h
	inc/MantidDataObjects/MDLeanEvent.h
101
	inc/MantidDataObjects/MaskWorkspace.h
102
	inc/MantidDataObjects/MementoTableWorkspace.h
103
	inc/MantidDataObjects/NoShape.h
104
105
106
	inc/MantidDataObjects/OffsetsWorkspace.h
	inc/MantidDataObjects/Peak.h
	inc/MantidDataObjects/PeakColumn.h
Owen Arnold's avatar
Owen Arnold committed
107
	inc/MantidDataObjects/PeakNoShapeFactory.h
Owen Arnold's avatar
Owen Arnold committed
108
	inc/MantidDataObjects/PeakShapeBase.h
Owen Arnold's avatar
Owen Arnold committed
109
	inc/MantidDataObjects/PeakShapeEllipsoid.h
110
	inc/MantidDataObjects/PeakShapeEllipsoidFactory.h
111
	inc/MantidDataObjects/PeakShapeFactory.h
112
	inc/MantidDataObjects/PeakShapeSpherical.h
113
	inc/MantidDataObjects/PeakShapeSphericalFactory.h
114
	inc/MantidDataObjects/PeaksWorkspace.h
115
	inc/MantidDataObjects/RebinnedOutput.h
116
	inc/MantidDataObjects/ReflectometryTransform.h
Hahn, Steven's avatar
Hahn, Steven committed
117
	inc/MantidDataObjects/SkippingPolicy.h
118
	inc/MantidDataObjects/SpecialWorkspace2D.h
119
	inc/MantidDataObjects/SplittersWorkspace.h
120
121
	inc/MantidDataObjects/TableColumn.h
	inc/MantidDataObjects/TableWorkspace.h
122
	inc/MantidDataObjects/VectorColumn.h
123
124
	inc/MantidDataObjects/Workspace2D.h
	inc/MantidDataObjects/WorkspaceSingleValue.h
125

126
)
127

128
set ( TEST_FILES
129
130
131
132
133
134
135
136
	AffineMatrixParameterParserTest.h
	AffineMatrixParameterTest.h
	BoxControllerNeXusIOTest.h
	CoordTransformAffineParserTest.h
	CoordTransformAffineTest.h
	CoordTransformAlignedTest.h
	CoordTransformDistanceParserTest.h
	CoordTransformDistanceTest.h
137
138
139
	EventListTest.h
	EventWorkspaceMRUTest.h
	EventWorkspaceTest.h
140
	EventsTest.h
141
	FakeMDTest.h
142
143
	GroupingWorkspaceTest.h
	Histogram1DTest.h
144
145
146
147
148
149
	MDBinTest.h
	MDBoxBaseTest.h
	MDBoxFlatTreeTest.h
	MDBoxIteratorTest.h
	MDBoxSaveableTest.h
	MDBoxTest.h
150
	MDDimensionStatsTest.h
151
152
	MDEventFactoryTest.h
	MDEventInserterTest.h
153
	MDEventTest.h
154
	MDEventWorkspaceTest.h
155
	MDFramesToSpecialCoordinateSystemTest.h
156
157
158
159
	MDGridBoxTest.h
	MDHistoWorkspaceIteratorTest.h
	MDHistoWorkspaceTest.h
	MDLeanEventTest.h
160
161
	MaskWorkspaceTest.h
	MementoTableWorkspaceTest.h
162
	NoShapeTest.h
163
164
	OffsetsWorkspaceTest.h
	PeakColumnTest.h
Owen Arnold's avatar
Owen Arnold committed
165
	PeakNoShapeFactoryTest.h
166
	PeakShapeEllipsoidFactoryTest.h
Owen Arnold's avatar
Owen Arnold committed
167
	PeakShapeEllipsoidTest.h
168
	PeakShapeSphericalFactoryTest.h
169
	PeakShapeSphericalTest.h
170
171
172
173
	PeakTest.h
	PeaksWorkspaceTest.h
	RebinnedOutputTest.h
	RefAxisTest.h
174
        ReflectometryTransformTest.h
175
	SkippingPolicyTest.h
176
177
	SpecialWorkspace2DTest.h
	SplittersWorkspaceTest.h
178
	TableColumnTest.h
179
180
181
	TableWorkspacePropertyTest.h
	TableWorkspaceTest.h
	TofEventTest.h
182
	VectorColumnTest.h
183
184
185
186
187
	WeightedEventNoTimeTest.h
	WeightedEventTest.h
	Workspace2DTest.h
	WorkspaceSingleValueTest.h
	WorkspaceValidatorsTest.h
188
)
189

190
191
if(UNITY_BUILD)
  include(UnityBuild)
192
  enable_unity_build(DataObjects SRC_FILES SRC_UNITY_IGNORE_FILES 10)
193
194
endif(UNITY_BUILD)

195
196
197
198
199
200
if (COVERALLS)
    foreach( loop_var ${SRC_FILES} ${INC_FILES})
      set_property(GLOBAL APPEND PROPERTY COVERAGE_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/${loop_var}")
    endforeach(loop_var)
endif()

201
# Use a precompiled header where they are supported
202
enable_precompiled_headers( inc/MantidDataObjects/PrecompiledHeader.h SRC_FILES )
203
204
205
# Add the target for this directory
add_library ( DataObjects ${SRC_FILES} ${INC_FILES})
# Set the name of the generated library
206
set_target_properties ( DataObjects PROPERTIES OUTPUT_NAME MantidDataObjects 
207
                                               COMPILE_DEFINITIONS IN_MANTID_DATAOBJECTS )
208
209
210
211

if (OSX_VERSION VERSION_GREATER 10.8)
  set_target_properties ( DataObjects PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
endif ()
Martyn Gigg's avatar
Martyn Gigg committed
212
213
214
215
216
217
218

# Intensive use of templated libaries can cause large objects to be generated. These require
# an additional flag in MSVC.
if ( MSVC )
  set_target_properties ( DataObjects PROPERTIES COMPILE_FLAGS "/bigobj" )
endif ()

219
# Add to the 'Framework' group in VS
220
set_property ( TARGET DataObjects PROPERTY FOLDER "MantidFramework" )
221

222
target_link_libraries ( DataObjects LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${JSONCPP_LIBRARIES} ${NEXUS_LIBRARIES} )
223

224
225
# Add the unit tests directory
add_subdirectory ( test )
226
227
228
229
230

###########################################################################
# Installation settings
###########################################################################

231
install ( TARGETS DataObjects ${SYSTEM_PACKAGE_TARGET} DESTINATION ${LIB_DIR} )
232