CMakeLists.txt 17.8 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
set(SRC_FILES
    src/ADSValidator.cpp
    src/Algorithm.cpp
    src/AlgorithmFactory.cpp
    src/AlgorithmFactoryObserver.cpp
    src/AlgorithmHasProperty.cpp
    src/AlgorithmHistory.cpp
    src/AlgorithmManager.cpp
    src/AlgorithmObserver.cpp
    src/AlgorithmProperty.cpp
    src/AnalysisDataService.cpp
    src/AnalysisDataServiceObserver.cpp
    src/ArchiveSearchFactory.cpp
    src/Axis.cpp
    src/BinEdgeAxis.cpp
    src/BoostOptionalToAlgorithmProperty.cpp
    src/BoxController.cpp
18
    src/BoxControllerSettingsAlgorithm.cpp
19
20
    src/CatalogManager.cpp
    src/CatalogSession.cpp
Samuel Jones's avatar
Samuel Jones committed
21
    src/Citation.cpp
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
    src/Column.cpp
    src/ColumnFactory.cpp
    src/CommonBinsValidator.cpp
    src/CompositeCatalog.cpp
    src/CompositeDomainMD.cpp
    src/CompositeFunction.cpp
    src/ConstraintFactory.cpp
    src/CoordTransform.cpp
    src/CostFunctionFactory.cpp
    src/DataProcessorAlgorithm.cpp
    src/DeprecatedAlgorithm.cpp
    src/DetectorSearcher.cpp
    src/DistributedAlgorithm.cpp
    src/DomainCreatorFactory.cpp
    src/EnabledWhenWorkspaceIsType.cpp
    src/EqualBinSizesValidator.cpp
    src/ExperimentInfo.cpp
    src/Expression.cpp
    src/FileBackedExperimentInfo.cpp
    src/FileFinder.cpp
    src/FileLoaderRegistry.cpp
    src/FileProperty.cpp
    src/FrameworkManager.cpp
    src/FuncMinimizerFactory.cpp
    src/FunctionDomain1D.cpp
    src/FunctionDomainGeneral.cpp
    src/FunctionDomainMD.cpp
    src/FunctionFactory.cpp
    src/FunctionGenerator.cpp
    src/FunctionParameterDecorator.cpp
    src/FunctionProperty.cpp
    src/FunctionValues.cpp
    src/GridDomain.cpp
    src/GridDomain1D.cpp
    src/GroupingLoader.cpp
    src/HistoWorkspace.cpp
    src/HistogramValidator.cpp
    src/HistoryItem.cpp
    src/HistoryView.cpp
    src/IDomainCreator.cpp
    src/IEventList.cpp
    src/IEventWorkspace.cpp
    src/IFuncMinimizer.cpp
    src/IFunction.cpp
    src/IFunction1D.cpp
    src/IFunction1DSpectrum.cpp
    src/IFunctionGeneral.cpp
    src/IFunctionMD.cpp
    src/IFunctionMW.cpp
71
    src/IJournal.cpp
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
    src/ILatticeFunction.cpp
    src/IMDEventWorkspace.cpp
    src/IMDHistoWorkspace.cpp
    src/IMDIterator.cpp
    src/IMDWorkspace.cpp
    src/IPawleyFunction.cpp
    src/IPeakFunction.cpp
    src/IPeaksWorkspace.cpp
    src/IPowderDiffPeakFunction.cpp
    src/ISpectrum.cpp
    src/ITableWorkspace.cpp
    src/ImmutableCompositeFunction.cpp
    src/ImplicitFunctionFactory.cpp
    src/ImplicitFunctionParameterParserFactory.cpp
    src/ImplicitFunctionParserFactory.cpp
    src/IncreasingAxisValidator.cpp
    src/IndexProperty.cpp
    src/IndexTypeProperty.cpp
    src/InstrumentDataService.cpp
91
    src/InstrumentFileFinder.cpp
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
    src/InstrumentValidator.cpp
    src/JointDomain.cpp
    src/LatticeDomain.cpp
    src/LinearScale.cpp
    src/LiveListener.cpp
    src/LiveListenerFactory.cpp
    src/LogFilterGenerator.cpp
    src/LogManager.cpp
    src/LogarithmScale.cpp
    src/MDFrameValidator.cpp
    src/MDGeometry.cpp
    src/MatrixWorkspace.cpp
    src/MatrixWorkspaceMDIterator.cpp
    src/MuParserUtils.cpp
    src/MultiDomainFunction.cpp
    src/MultiPeriodGroupAlgorithm.cpp
    src/MultiPeriodGroupWorker.cpp
    src/MultipleExperimentInfos.cpp
    src/MultipleFileProperty.cpp
111
    src/NexusFileLoader.cpp
112
113
114
115
116
117
118
119
120
121
122
    src/NotebookBuilder.cpp
    src/NotebookWriter.cpp
    src/NullCoordTransform.cpp
    src/NumericAxis.cpp
    src/NumericAxisValidator.cpp
    src/OrientedLatticeValidator.cpp
    src/ParallelAlgorithm.cpp
    src/ParamFunction.cpp
    src/ParameterReference.cpp
    src/ParameterTie.cpp
    src/PeakFunctionIntegrator.cpp
123
    src/PreviewManager.cpp
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
    src/Progress.cpp
    src/Projection.cpp
    src/PropertyWithValue.cpp
    src/RawCountValidator.cpp
    src/RefAxis.cpp
    src/RemoteJobManagerFactory.cpp
    src/ResizeRectangularDetectorHelper.cpp
    src/Run.cpp
    src/Sample.cpp
    src/SampleShapeValidator.cpp
    src/SampleValidator.cpp
    src/ScopedWorkspace.cpp
    src/ScriptBuilder.cpp
    src/ScriptRepository.cpp
    src/ScriptRepositoryFactory.cpp
    src/SerialAlgorithm.cpp
    src/SingleCountValidator.cpp
    src/SpectraAxis.cpp
    src/SpectraAxisValidator.cpp
    src/SpectrumDetectorMapping.cpp
    src/SpectrumInfo.cpp
    src/TableRow.cpp
    src/TextAxis.cpp
    src/TransformScaleFactory.cpp
    src/Workspace.cpp
    src/WorkspaceFactory.cpp
    src/WorkspaceGroup.cpp
    src/WorkspaceHasDxValidator.cpp
    src/WorkspaceHistory.cpp
    src/WorkspaceNearestNeighbourInfo.cpp
    src/WorkspaceNearestNeighbours.cpp
    src/WorkspaceOpOverloads.cpp
    src/WorkspaceProperty.cpp
157
    src/WorkspaceUnitValidator.cpp)
158

159
160
161
162
163
164
165
set(SRC_UNITY_IGNORE_FILES
    src/CompositeFunction.cpp
    src/IDataFileChecker.cpp
    src/MatrixWorkspace.cpp
    src/IEventWorkspace.cpp
    src/IFunctionMD.cpp
    src/IPeakFunction.cpp
166
167
    src/IPowderDiffPeakFunction.cpp
)
168

169
170
171
172
173
set(INC_FILES
    inc/MantidAPI/ADSValidator.h
    inc/MantidAPI/Algorithm.h
    inc/MantidAPI/Algorithm.tcc
    inc/MantidAPI/AlgorithmFactory.h
174
    inc/MantidAPI/AlgorithmFactoryObserver.h
175
176
177
178
179
180
181
182
183
184
    inc/MantidAPI/AlgorithmHasProperty.h
    inc/MantidAPI/AlgorithmHistory.h
    inc/MantidAPI/AlgorithmManager.h
    inc/MantidAPI/AlgorithmObserver.h
    inc/MantidAPI/AlgorithmProperty.h
    inc/MantidAPI/AnalysisDataService.h
    inc/MantidAPI/AnalysisDataServiceObserver.h
    inc/MantidAPI/ArchiveSearchFactory.h
    inc/MantidAPI/Axis.h
    inc/MantidAPI/BinEdgeAxis.h
Gemma Guest's avatar
Gemma Guest committed
185
    inc/MantidAPI/BoostOptionalToAlgorithmProperty.h
186
    inc/MantidAPI/BoxController.h
187
    inc/MantidAPI/BoxControllerSettingsAlgorithm.h
188
189
190
    inc/MantidAPI/CatalogFactory.h
    inc/MantidAPI/CatalogManager.h
    inc/MantidAPI/CatalogSession.h
Samuel Jones's avatar
Samuel Jones committed
191
    inc/MantidAPI/Citation.h
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
    inc/MantidAPI/Column.h
    inc/MantidAPI/ColumnFactory.h
    inc/MantidAPI/CommonBinsValidator.h
    inc/MantidAPI/CompositeCatalog.h
    inc/MantidAPI/CompositeDomain.h
    inc/MantidAPI/CompositeDomainMD.h
    inc/MantidAPI/CompositeFunction.h
    inc/MantidAPI/ConstraintFactory.h
    inc/MantidAPI/CoordTransform.h
    inc/MantidAPI/CostFunctionFactory.h
    inc/MantidAPI/DataProcessorAlgorithm.h
    inc/MantidAPI/DeclareUserAlg.h
    inc/MantidAPI/DeprecatedAlgorithm.h
    inc/MantidAPI/DetectorSearcher.h
    inc/MantidAPI/DistributedAlgorithm.h
    inc/MantidAPI/DomainCreatorFactory.h
    inc/MantidAPI/EnabledWhenWorkspaceIsType.h
    inc/MantidAPI/EqualBinSizesValidator.h
    inc/MantidAPI/ExperimentInfo.h
    inc/MantidAPI/Expression.h
    inc/MantidAPI/FileBackedExperimentInfo.h
    inc/MantidAPI/FileFinder.h
    inc/MantidAPI/FileLoaderRegistry.h
    inc/MantidAPI/FileProperty.h
    inc/MantidAPI/FrameworkManager.h
    inc/MantidAPI/FuncMinimizerFactory.h
    inc/MantidAPI/FunctionDomain.h
    inc/MantidAPI/FunctionDomain1D.h
    inc/MantidAPI/FunctionDomainGeneral.h
    inc/MantidAPI/FunctionDomainMD.h
    inc/MantidAPI/FunctionFactory.h
    inc/MantidAPI/FunctionGenerator.h
    inc/MantidAPI/FunctionParameterDecorator.h
    inc/MantidAPI/FunctionProperty.h
    inc/MantidAPI/FunctionValues.h
    inc/MantidAPI/GridDomain.h
    inc/MantidAPI/GridDomain1D.h
    inc/MantidAPI/GroupingLoader.h
    inc/MantidAPI/HistoWorkspace.h
    inc/MantidAPI/HistogramValidator.h
    inc/MantidAPI/HistoryItem.h
    inc/MantidAPI/HistoryView.h
    inc/MantidAPI/IAlgorithm.h
    inc/MantidAPI/IAlgorithm_fwd.h
    inc/MantidAPI/IArchiveSearch.h
    inc/MantidAPI/IBackgroundFunction.h
    inc/MantidAPI/IBoxControllerIO.h
    inc/MantidAPI/ICatalog.h
    inc/MantidAPI/ICatalogInfoService.h
    inc/MantidAPI/IConstraint.h
    inc/MantidAPI/ICostFunction.h
    inc/MantidAPI/IDomainCreator.h
    inc/MantidAPI/IEventList.h
    inc/MantidAPI/IEventWorkspace.h
    inc/MantidAPI/IEventWorkspace_fwd.h
    inc/MantidAPI/IFileLoader.h
    inc/MantidAPI/IFuncMinimizer.h
    inc/MantidAPI/IFunction.h
    inc/MantidAPI/IFunction1D.h
    inc/MantidAPI/IFunction1DSpectrum.h
    inc/MantidAPI/IFunctionGeneral.h
    inc/MantidAPI/IFunctionMD.h
    inc/MantidAPI/IFunctionMW.h
    inc/MantidAPI/IFunctionWithLocation.h
256
    inc/MantidAPI/IFunction_fwd.h
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
    inc/MantidAPI/ILatticeFunction.h
    inc/MantidAPI/ILiveListener.h
    inc/MantidAPI/IMDEventWorkspace.h
    inc/MantidAPI/IMDEventWorkspace_fwd.h
    inc/MantidAPI/IMDHistoWorkspace.h
    inc/MantidAPI/IMDHistoWorkspace_fwd.h
    inc/MantidAPI/IMDIterator.h
    inc/MantidAPI/IMDNode.h
    inc/MantidAPI/IMDWorkspace.h
    inc/MantidAPI/IMaskWorkspace.h
    inc/MantidAPI/IPawleyFunction.h
    inc/MantidAPI/IPeakFunction.h
    inc/MantidAPI/IPeaksWorkspace.h
    inc/MantidAPI/IPeaksWorkspace_fwd.h
    inc/MantidAPI/IPowderDiffPeakFunction.h
272
    inc/MantidAPI/IPreview.h
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
    inc/MantidAPI/IRemoteJobManager.h
    inc/MantidAPI/ISpectrum.h
    inc/MantidAPI/ISplittersWorkspace.h
    inc/MantidAPI/ITableWorkspace.h
    inc/MantidAPI/ITableWorkspace_fwd.h
    inc/MantidAPI/ITransformScale.h
    inc/MantidAPI/IWorkspaceProperty.h
    inc/MantidAPI/ImmutableCompositeFunction.h
    inc/MantidAPI/ImplicitFunctionBuilder.h
    inc/MantidAPI/ImplicitFunctionFactory.h
    inc/MantidAPI/ImplicitFunctionParameter.h
    inc/MantidAPI/ImplicitFunctionParameterParser.h
    inc/MantidAPI/ImplicitFunctionParameterParserFactory.h
    inc/MantidAPI/ImplicitFunctionParser.h
    inc/MantidAPI/ImplicitFunctionParserFactory.h
    inc/MantidAPI/IncreasingAxisValidator.h
    inc/MantidAPI/IndexProperty.h
    inc/MantidAPI/IndexTypeProperty.h
    inc/MantidAPI/InstrumentDataService.h
292
    inc/MantidAPI/InstrumentFileFinder.h
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
    inc/MantidAPI/InstrumentValidator.h
    inc/MantidAPI/Jacobian.h
    inc/MantidAPI/JointDomain.h
    inc/MantidAPI/LatticeDomain.h
    inc/MantidAPI/LinearScale.h
    inc/MantidAPI/LiveListener.h
    inc/MantidAPI/LiveListenerFactory.h
    inc/MantidAPI/LogFilterGenerator.h
    inc/MantidAPI/LogManager.h
    inc/MantidAPI/LogarithmScale.h
    inc/MantidAPI/MDFrameValidator.h
    inc/MantidAPI/MDGeometry.h
    inc/MantidAPI/MatrixWorkspace.h
    inc/MantidAPI/MatrixWorkspaceMDIterator.h
    inc/MantidAPI/MatrixWorkspaceValidator.h
    inc/MantidAPI/MatrixWorkspace_fwd.h
    inc/MantidAPI/MuParserUtils.h
    inc/MantidAPI/MultiDomainFunction.h
    inc/MantidAPI/MultiPeriodGroupAlgorithm.h
    inc/MantidAPI/MultiPeriodGroupWorker.h
    inc/MantidAPI/MultipleExperimentInfos.h
    inc/MantidAPI/MultipleFileProperty.h
315
    inc/MantidAPI/NexusFileLoader.h
316
317
318
319
320
321
322
323
324
325
326
    inc/MantidAPI/NotebookBuilder.h
    inc/MantidAPI/NotebookWriter.h
    inc/MantidAPI/NullCoordTransform.h
    inc/MantidAPI/NumericAxis.h
    inc/MantidAPI/NumericAxisValidator.h
    inc/MantidAPI/OrientedLatticeValidator.h
    inc/MantidAPI/ParallelAlgorithm.h
    inc/MantidAPI/ParamFunction.h
    inc/MantidAPI/ParameterReference.h
    inc/MantidAPI/ParameterTie.h
    inc/MantidAPI/PeakFunctionIntegrator.h
327
    inc/MantidAPI/PreviewManager.h
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
    inc/MantidAPI/Progress.h
    inc/MantidAPI/Projection.h
    inc/MantidAPI/RawCountValidator.h
    inc/MantidAPI/RefAxis.h
    inc/MantidAPI/RemoteJobManagerFactory.h
    inc/MantidAPI/ResizeRectangularDetectorHelper.h
    inc/MantidAPI/Run.h
    inc/MantidAPI/Sample.h
    inc/MantidAPI/SampleShapeValidator.h
    inc/MantidAPI/SampleValidator.h
    inc/MantidAPI/ScopedWorkspace.h
    inc/MantidAPI/ScriptBuilder.h
    inc/MantidAPI/ScriptRepository.h
    inc/MantidAPI/ScriptRepositoryFactory.h
    inc/MantidAPI/SerialAlgorithm.h
    inc/MantidAPI/SingleCountValidator.h
    inc/MantidAPI/SingleValueParameter.h
    inc/MantidAPI/SingleValueParameterParser.h
    inc/MantidAPI/SpectraAxis.h
    inc/MantidAPI/SpectraAxisValidator.h
    inc/MantidAPI/SpectrumDetectorMapping.h
    inc/MantidAPI/SpectrumInfo.h
    inc/MantidAPI/SpectrumInfoItem.h
    inc/MantidAPI/SpectrumInfoIterator.h
    inc/MantidAPI/TableRow.h
    inc/MantidAPI/TextAxis.h
    inc/MantidAPI/TransformScaleFactory.h
    inc/MantidAPI/VectorParameter.h
    inc/MantidAPI/VectorParameterParser.h
    inc/MantidAPI/Workspace.h
    inc/MantidAPI/WorkspaceFactory.h
    inc/MantidAPI/WorkspaceGroup.h
    inc/MantidAPI/WorkspaceGroup_fwd.h
    inc/MantidAPI/WorkspaceHasDxValidator.h
    inc/MantidAPI/WorkspaceHistory.h
    inc/MantidAPI/WorkspaceNearestNeighbourInfo.h
    inc/MantidAPI/WorkspaceNearestNeighbours.h
    inc/MantidAPI/WorkspaceOpOverloads.h
    inc/MantidAPI/WorkspaceProperty.h
    inc/MantidAPI/WorkspaceProperty.tcc
    inc/MantidAPI/WorkspaceUnitValidator.h
369
    inc/MantidAPI/Workspace_fwd.h)
370

371
option(PROFILE_ALGORITHM_LINUX "Profile algorithm execution on Linux" OFF)
372
if(PROFILE_ALGORITHM_LINUX)
373
374
375
  set(SRC_FILES "${SRC_FILES}" "src/AlgorithmExecuteProfile.cpp"
                "src/AlgoTimeRegister.cpp"
  )
376
  set(INC_FILES "${INC_FILES}" "inc/MantidAPI/AlgoTimeRegister.h")
377
else()
378
  set(SRC_FILES "${SRC_FILES}" "src/AlgorithmExecute.cpp")
379
380
endif()

381
382
383
set(TEST_FILES
    ADSValidatorTest.h
    AlgorithmFactoryObserverTest.h
384
    AlgorithmFactoryTest.h
385
386
387
388
389
390
391
    AlgorithmHasPropertyTest.h
    AlgorithmHistoryTest.h
    AlgorithmMPITest.h
    AlgorithmManagerTest.h
    AlgorithmPropertyTest.h
    AlgorithmTest.h
    AnalysisDataServiceObserverTest.h
392
    AnalysisDataServiceTest.h
393
394
    AsynchronousTest.h
    BinEdgeAxisTest.h
395
    BoxControllerSettingsAlgorithmTest.h
396
    BoxControllerTest.h
397
    CitationTest.h
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
    CommonBinsValidatorTest.h
    CompositeFunctionTest.h
    CoordTransformTest.h
    CostFunctionFactoryTest.h
    DataProcessorAlgorithmTest.h
    DetectorInfoTest.h
    DetectorSearcherTest.h
    EnabledWhenWorkspaceIsTypeTest.h
    EqualBinSizesValidatorTest.h
    ExperimentInfoTest.h
    ExpressionTest.h
    FileBackedExperimentInfoTest.h
    FileFinderTest.h
    FilePropertyTest.h
    FrameworkManagerTest.h
    FuncMinimizerFactoryTest.h
    FunctionAttributeTest.h
    FunctionDomainGeneralTest.h
    FunctionDomainTest.h
    FunctionFactoryTest.h
    FunctionParameterDecoratorTest.h
    FunctionPropertyTest.h
    FunctionTest.h
    FunctionValuesTest.h
    GroupingLoaderTest.h
    HistogramValidatorTest.h
    HistoryItemTest.h
    HistoryViewTest.h
    IEventListTest.h
    IFunction1DSpectrumTest.h
    IFunction1DTest.h
    IFunctionMDTest.h
    IFunctionTest.h
    ILatticeFunctionTest.h
    IMDWorkspaceTest.h
433
    IPreviewTest.h
434
435
436
437
438
439
440
    ISpectrumTest.h
    ImmutableCompositeFunctionTest.h
    ImplicitFunctionParserFactoryTest.h
    IncreasingAxisValidatorTest.h
    IndexPropertyTest.h
    IndexTypePropertyTest.h
    InstrumentDataServiceTest.h
441
    InstrumentFileFinderTest.h
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
    InstrumentValidatorTest.h
    LatticeDomainTest.h
    LiveListenerFactoryTest.h
    LiveListenerTest.h
    LogFilterGeneratorTest.h
    LogManagerTest.h
    MDFrameValidatorTest.h
    MDGeometryTest.h
    MatrixWorkspaceMDIteratorTest.h
    MuParserUtilsTest.h
    MultiDomainFunctionTest.h
    MultiPeriodGroupAlgorithmTest.h
    MultiPeriodGroupWorkerTest.h
    MultipleExperimentInfosTest.h
    MultipleFilePropertyTest.h
    NotebookBuilderTest.h
    NotebookWriterTest.h
    NumericAxisTest.h
    NumericAxisValidatorTest.h
    OrientedLatticeValidatorTest.h
    ParamFunctionAttributeHolderTest.h
    ParameterReferenceTest.h
    ParameterTieTest.h
    PeakFunctionIntegratorTest.h
466
    PreviewManagerTest.h
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
    ProgressTest.h
    ProjectionTest.h
    RawCountValidatorTest.h
    RemoteJobManagerFactoryTest.h
    ResizeRectangularDetectorHelperTest.h
    RunTest.h
    SampleShapeValidatorTest.h
    SampleTest.h
    SampleValidatorTest.h
    ScopedWorkspaceTest.h
    ScriptBuilderTest.h
    SingleCountValidatorTest.h
    SpectraAxisTest.h
    SpectraAxisValidatorTest.h
    SpectrumDetectorMappingTest.h
    SpectrumInfoTest.h
    TextAxisTest.h
    VectorParameterParserTest.h
    VectorParameterTest.h
    WorkspaceFactoryTest.h
    WorkspaceGroupTest.h
    WorkspaceHasDxValidatorTest.h
    WorkspaceHistoryIOTest.h
    WorkspaceHistoryTest.h
    WorkspaceNearestNeighbourInfoTest.h
    WorkspaceNearestNeighboursTest.h
    WorkspaceOpOverloadsTest.h
    WorkspacePropertyTest.h
495
    WorkspaceUnitValidatorTest.h)
496

497
set(GMOCK_TEST_FILES
498
499
500
    ImplicitFunctionFactoryTest.h ImplicitFunctionParameterParserFactoryTest.h
    MatrixWorkspaceTest.h
)
501

502
if(COVERAGE)
503
  foreach(loop_var ${SRC_FILES} ${INC_FILES})
504
505
506
507
    set_property(
      GLOBAL APPEND PROPERTY COVERAGE_SRCS
                             "${CMAKE_CURRENT_SOURCE_DIR}/${loop_var}"
    )
508
  endforeach(loop_var)
509
endif()
510

511
512
if(UNITY_BUILD)
  include(UnityBuild)
513
  enable_unity_build(API SRC_FILES SRC_UNITY_IGNORE_FILES 10)
514
515
endif(UNITY_BUILD)

516
# Have to link to winsock and bcrypt library on Windows
517
518
519
520
if(WIN32)
  set(WINSOCK ws2_32)
  set(BCRYPT bcrypt)
endif()
521

522
# Add a precompiled header where they are supported
523
enable_precompiled_headers(inc/MantidAPI/PrecompiledHeader.h SRC_FILES)
524
# Add the target for this directory
525
add_library(API ${SRC_FILES} ${INC_FILES})
526
add_library(Mantid::API ALIAS API)
Stephen's avatar
Stephen committed
527
528
529
530
531

target_include_directories(API PUBLIC
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
		$<INSTALL_INTERFACE:include/Mantid>
)
532
# Set the name of the generated library
533
534
535
set_target_properties(
  API PROPERTIES OUTPUT_NAME MantidAPI COMPILE_DEFINITIONS IN_MANTID_API
)
536

537
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
538
539
540
541
  set_target_properties(
    API PROPERTIES INSTALL_RPATH
                   "@loader_path/../MacOS;@loader_path/../Frameworks"
  )
542
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
543
  set_target_properties(API PROPERTIES INSTALL_RPATH "\$ORIGIN/../${LIB_DIR}")
544
endif()
545

546
# Add to the 'Framework' group in VS
547
set_property(TARGET API PROPERTY FOLDER "MantidFramework")
548

549
550
target_link_libraries(
  API
Stephen's avatar
Stephen committed
551
552
553
554
555
556
557
  PUBLIC
  Mantid::HistogramData
  Mantid::Types
  Mantid::Kernel
  Mantid::Geometry
  Mantid::Indexing
  Mantid::Parallel
Stephen's avatar
Stephen committed
558
  Nexus::nexus
Stephen's avatar
Stephen committed
559
  PRIVATE
560
561
  ${WINSOCK}
  ${BCRYPT}
Stephen's avatar
Stephen committed
562
563
  Mantid::Beamline
  Mantid::Json
564
)
565

566
# Add the unit tests directory
567
add_subdirectory(test)
568

569
# Auto-generate exports header
Stephen's avatar
Stephen committed
570
571
572
573
target_include_directories(API PUBLIC
  $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/Framework/API>
  $<INSTALL_INTERFACE:include/Mantid>
)
574
575
generate_mantid_export_header(API TRUE)

576
# Installation settings
577
if (CONDA_BUILD)
Stephen's avatar
Stephen committed
578
set(TARGET_EXPORT_NAME "MantidAPITargets")
579
580
581
582
mtd_install_framework_lib(TARGETS API INSTALL_EXPORT_FILE EXPORT_NAME ${TARGET_EXPORT_NAME})
else()
mtd_install_targets(TARGETS API INSTALL_DIRS ${LIB_DIR} ${WORKBENCH_LIB_DIR})
endif()