CMakeLists.txt 7.39 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/PropertyWithValue.cpp
40
	src/RebinnedOutput.cpp
41
	src/ReflectometryTransform.cpp
42
	src/ScanningWorkspaceBuilder.cpp
43
	src/SpecialWorkspace2D.cpp
44
	src/SplittersWorkspace.cpp
45
46
	src/TableColumn.cpp
	src/TableWorkspace.cpp
47
	src/VectorColumn.cpp
48
	src/Workspace2D.cpp
49
	src/WorkspaceCreation.cpp
50
	src/WorkspaceProperty.cpp
51
	src/WorkspaceSingleValue.cpp
52
)
53

54
55
56
57
set ( SRC_UNITY_IGNORE_FILES 
	src/Workspace2D.cpp
	src/WorkspaceSingleValue.cpp
	src/EventWorkspace.cpp
58
59
)

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

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

197
198
if(UNITY_BUILD)
  include(UnityBuild)
199
  enable_unity_build(DataObjects SRC_FILES SRC_UNITY_IGNORE_FILES 10)
200
201
endif(UNITY_BUILD)

202
203
204
205
206
207
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()

208
# Use a precompiled header where they are supported
209
enable_precompiled_headers( inc/MantidDataObjects/PrecompiledHeader.h SRC_FILES )
210
211
212
# Add the target for this directory
add_library ( DataObjects ${SRC_FILES} ${INC_FILES})
# Set the name of the generated library
213
set_target_properties ( DataObjects PROPERTIES OUTPUT_NAME MantidDataObjects 
214
                                               COMPILE_DEFINITIONS IN_MANTID_DATAOBJECTS )
215
216
217
218

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
219
220
221
222
223
224
225

# 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 ()

226
# Add to the 'Framework' group in VS
227
set_property ( TARGET DataObjects PROPERTY FOLDER "MantidFramework" )
228

229
target_link_libraries ( DataObjects LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${JSONCPP_LIBRARIES} ${NEXUS_LIBRARIES} )
230

231
232
# Add the unit tests directory
add_subdirectory ( test )
233
234
235
236
237

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

238
install ( TARGETS DataObjects ${SYSTEM_PACKAGE_TARGET} DESTINATION ${LIB_DIR} )
239