-
Danny Hindson authored
Apply change to insert export macros into class definition using cmake GenerateExportHeader feature to 3 more projects: API, Crystal and CurveFitting Have replaced DllExport with the cmake macro except in these places: a) class templates - the definitions of class template member functions need to be in the same unit as the declaration so dllimport gives a compilation error in the client code (C2491 in VS) eg SingleValueParameter, SingleValueParameterParser b) headers which are in a project but aren't included by any .cpp units in the project eg IBackgroundFunction.h, ICatalogInfoService.h. In these cases I've removed the DLLExport attribute completely For the API target there were a couple of special cases\extras: API has some conditional use of the extern keyword to control instantiation of template classes. This has been inserted into the automatically created dllconfig.h using a cmake switch that allows some custom content to be appended to the end of the file. Few of the targets require this so I've added a boolean parameter to the wrapper function to handle this GENERATE_MANTID_EXPORT_HEADER I also had to add explicit include directories to PythonInterfaceCore where it imports an API target header (in the unit ExtractWorkspace.h) without having API as a dependency
a8c3109c