Commit 5376137d authored by Raquel Alvarez Banos's avatar Raquel Alvarez Banos
Browse files

Re #16869 Merging master and solving conflicts

parent 547f613e
......@@ -167,6 +167,8 @@ Desktop.ini
.tags
.tags_sorted_by_file
#Dynamically created files
Framework/Kernel/inc/MantidKernel/GitHubApiHelper.h
Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/LibHelper.h
......
###########################################################################
# CMake version check.
# Require >= 3.3 for Windows as previous versions contained a bug that
# prevented external data from working correctly. Other systems require
# 2.8.12 to avoid recompiling system packages
# Require CMake 3.5, required by ParaView 5.1.0
###########################################################################
if (CMAKE_HOST_WIN32)
cmake_minimum_required ( VERSION 3.3.0 )
else()
cmake_minimum_required ( VERSION 2.8.12 )
endif()
if(POLICY CMP0053)
#Simplify variable reference and escape sequence evaluation.
#Claims to dramatically improve CMake configure and generate time
#requires CMake 3.1 or later
cmake_policy(SET CMP0053 NEW)
endif()
cmake_minimum_required ( VERSION 3.5 )
# Define the project name.
project ( Mantid )
......@@ -306,9 +293,9 @@ if ( ENABLE_CPACK )
"libpocofoundation11,libpocoutil11,libpoconet11,libpoconetssl11,libpococrypto11,libpocoxml11,"
"python-pycifrw (>= 4.2.1)" )
set ( PERFTOOLS_DEB_PACKAGE "libgoogle-perftools4 (>= 1.7)" )
if( "${UNIX_CODENAME}" STREQUAL "wily" OR "${UNIX_CODENAME}" STREQUAL "xenial")
list ( APPEND DEPENDS_LIST ", libnexus0v5 (>= 4.3),libjsoncpp0v5 (>= 0.7.0),libqscintilla2-12v5, libmuparser2v5,libqwtplot3d-qt4-0v5")
list (REMOVE_ITEM DEPENDS_LIST "libjsoncpp0 (>=0.7.0)," "libqscintilla2-11," "libmuparser2," "libnexus0 (>= 4.3)," "libqwtplot3d-qt4-0,")
if( "${UNIX_CODENAME}" STREQUAL "xenial")
list ( APPEND DEPENDS_LIST ", libnexus0v5 (>= 4.3),libjsoncpp1,libqscintilla2-12v5, libmuparser2v5,libqwtplot3d-qt4-0v5,libgsl2,liboce-foundation10,liboce-modeling10")
list (REMOVE_ITEM DEPENDS_LIST "libjsoncpp0 (>=0.7.0)," "libqscintilla2-11," "libmuparser2," "libnexus0 (>= 4.3)," "libqwtplot3d-qt4-0," "libgsl0ldbl," "liboce-foundation8,liboce-modeling8,")
endif()
# parse list to string required for deb package
string ( REPLACE ";" "" CPACK_DEBIAN_PACKAGE_DEPENDS ${DEPENDS_LIST} )
......
......@@ -168,16 +168,7 @@ private:
VersionMap m_vmap;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<AlgorithmFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<AlgorithmFactoryImpl>
AlgorithmFactory;
typedef Mantid::Kernel::SingletonHolder<AlgorithmFactoryImpl> AlgorithmFactory;
/// Convenient typedef for an UpdateNotification
typedef Mantid::Kernel::DynamicFactory<Algorithm>::UpdateNotification
......@@ -188,4 +179,11 @@ typedef const Poco::AutoPtr<Mantid::Kernel::DynamicFactory<
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::AlgorithmFactoryImpl>;
}
}
#endif /*MANTID_API_ALGORITHMFACTORY_H_*/
......@@ -102,16 +102,16 @@ private:
mutable std::mutex m_managedMutex;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmManagerImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<AlgorithmManagerImpl>;
#endif /* _WIN32 */
typedef Mantid::Kernel::SingletonHolder<AlgorithmManagerImpl> AlgorithmManager;
} // namespace API
} // Namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::AlgorithmManagerImpl>;
}
}
#endif /* MANTID_API_ALGORITHMMANAGER_H_ */
......@@ -178,15 +178,7 @@ private:
std::string m_illegalChars;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AnalysisDataServiceImpl (needed for dllexport/dllimport) and a typedef for
/// it.
#ifdef _WIN32
// this breaks new namespace declaration rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<AnalysisDataServiceImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<AnalysisDataServiceImpl>
typedef Mantid::Kernel::SingletonHolder<AnalysisDataServiceImpl>
AnalysisDataService;
typedef Mantid::Kernel::DataService<Mantid::API::Workspace>::AddNotification
......@@ -249,4 +241,11 @@ typedef const Poco::AutoPtr<AnalysisDataServiceImpl::GroupUpdatedNotification> &
} // Namespace API
} // Namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::AnalysisDataServiceImpl>;
}
}
#endif /*MANTID_KERNEL_ANALYSISDATASERVICE_H_*/
......@@ -56,17 +56,16 @@ private:
~ArchiveSearchFactoryImpl() override = default;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<ArchiveSearchFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<ArchiveSearchFactoryImpl>
typedef Mantid::Kernel::SingletonHolder<ArchiveSearchFactoryImpl>
ArchiveSearchFactory;
}
}
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::ArchiveSearchFactoryImpl>;
}
}
#endif // MANTID_API_ARCHIVESEARCHFACTORY_H_
......@@ -76,19 +76,18 @@ private:
mutable std::map<std::string, boost::shared_ptr<ICatalog>> m_createdCatalogs;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// CatalogFactoryImpl (needed for dllexport/dllimport) .
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<CatalogFactoryImpl>;
#endif /* _WIN32 */
/// The specialisation of the SingletonHolder class that holds the
/// CatalogFactory
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<CatalogFactoryImpl>
CatalogFactory;
typedef Mantid::Kernel::SingletonHolder<CatalogFactoryImpl> CatalogFactory;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::CatalogFactoryImpl>;
}
}
#endif /*MANTID_API_CATALOGFACTORYIMPL_H_*/
......@@ -67,11 +67,14 @@ private:
std::map<CatalogSession_sptr, ICatalog_sptr> m_activeCatalogs;
};
#ifdef _WIN32
template class MANTID_API_DLL Kernel::SingletonHolder<CatalogManagerImpl>;
#endif
typedef MANTID_API_DLL Kernel::SingletonHolder<CatalogManagerImpl>
CatalogManager;
typedef Kernel::SingletonHolder<CatalogManagerImpl> CatalogManager;
}
}
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Kernel::SingletonHolder<Mantid::API::CatalogManagerImpl>;
}
}
#endif /* MANTID_ICAT_CATALOGMANAGERIMPL_H_ */
......@@ -63,17 +63,16 @@ private:
~ColumnFactoryImpl() override = default;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<ColumnFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<ColumnFactoryImpl>
ColumnFactory;
typedef Mantid::Kernel::SingletonHolder<ColumnFactoryImpl> ColumnFactory;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::ColumnFactoryImpl>;
}
}
#endif /*MANTID_API_COLUMNFACTORY_H_*/
......@@ -72,19 +72,19 @@ private:
~ConstraintFactoryImpl() override = default;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<ConstraintFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<ConstraintFactoryImpl>
typedef Mantid::Kernel::SingletonHolder<ConstraintFactoryImpl>
ConstraintFactory;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::ConstraintFactoryImpl>;
}
}
/**
* Macro for declaring a new type of function to be used with the
* FunctionFactory
......
......@@ -63,17 +63,17 @@ private:
CostFunctionFactoryImpl();
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<CostFunctionFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<CostFunctionFactoryImpl>
typedef Mantid::Kernel::SingletonHolder<CostFunctionFactoryImpl>
CostFunctionFactory;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::CostFunctionFactoryImpl>;
}
}
#endif /*MANTID_API_COSTFUNCTIONFACTORY_H_*/
......@@ -32,8 +32,10 @@
#ifdef IN_MANTID_API
#define MANTID_API_DLL DLLExport
#define EXTERN_MANTID_API
#else
#define MANTID_API_DLL DLLImport
#define EXTERN_MANTID_API EXTERN_IMPORT
#endif /* IN_MANTID_API*/
#endif // MANTID_API_DLLCONFIG_H_
......@@ -68,18 +68,17 @@ private:
using Kernel::DynamicFactory<IDomainCreator>::createUnwrapped;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// DomainCreatorFactoryImpl (needed for dllexport/dllimport) and a typedef for
/// it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<DomainCreatorFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<DomainCreatorFactoryImpl>
typedef Mantid::Kernel::SingletonHolder<DomainCreatorFactoryImpl>
DomainCreatorFactory;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::DomainCreatorFactoryImpl>;
}
}
#endif /* MANTID_API_DOMAINCREATORFACTORY_H_ */
......@@ -94,15 +94,14 @@ private:
int m_globOption;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL Mantid::Kernel::SingletonHolder<FileFinderImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<FileFinderImpl>
FileFinder;
typedef Mantid::Kernel::SingletonHolder<FileFinderImpl> FileFinder;
}
}
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::FileFinderImpl>;
}
}
......
......@@ -144,20 +144,18 @@ private:
mutable Kernel::Logger m_log;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// FileLoaderRegistryImpl (needed for dllexport/dllimport) and a typedef for
/// it.
#ifdef _WIN32
// this breaks new namespace declaration rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<FileLoaderRegistryImpl>;
#endif /* _WIN32 */
/// Type for the actual singleton instance
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<FileLoaderRegistryImpl>
typedef Mantid::Kernel::SingletonHolder<FileLoaderRegistryImpl>
FileLoaderRegistry;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::FileLoaderRegistryImpl>;
}
}
#endif /* MANTID_API_FILELOADERREGISTRY_H_ */
......@@ -137,17 +137,16 @@ private:
#endif
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaration rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<FrameworkManagerImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<FrameworkManagerImpl>
FrameworkManager;
typedef Mantid::Kernel::SingletonHolder<FrameworkManagerImpl> FrameworkManager;
} // namespace Kernel
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::FrameworkManagerImpl>;
}
}
#endif /*MANTID_API_FRAMEWORKMANAGER_H_*/
......@@ -61,19 +61,19 @@ private:
FuncMinimizerFactoryImpl();
};
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<FuncMinimizerFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<FuncMinimizerFactoryImpl>
typedef Mantid::Kernel::SingletonHolder<FuncMinimizerFactoryImpl>
FuncMinimizerFactory;
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::FuncMinimizerFactoryImpl>;
}
}
/**
* Macro for declaring a new type of minimizers to be used with the
* FuncMinimizerFactory
......
......@@ -142,15 +142,7 @@ const std::vector<std::string> &FunctionFactoryImpl::getFunctionNames() const {
return typeNames;
}
/// Forward declaration of a specialisation of SingletonHolder for
/// AlgorithmFactoryImpl (needed for dllexport/dllimport) and a typedef for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<FunctionFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<FunctionFactoryImpl>
FunctionFactory;
typedef Mantid::Kernel::SingletonHolder<FunctionFactoryImpl> FunctionFactory;
/// Convenient typedef for an UpdateNotification
typedef FunctionFactoryImpl::UpdateNotification
......@@ -161,6 +153,13 @@ typedef const Poco::AutoPtr<FunctionFactoryUpdateNotification> &
} // namespace API
} // namespace Mantid
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::FunctionFactoryImpl>;
}
}
/**
* Macro for declaring a new type of function to be used with the
* FunctionFactory
......
......@@ -64,17 +64,15 @@ private:
~ImplicitFunctionFactoryImpl() override = default;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// ImplicitFunctionFactoryImpl (needed for dllexport/dllimport) and a typedef
/// for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<ImplicitFunctionFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL Mantid::Kernel::SingletonHolder<
ImplicitFunctionFactoryImpl> ImplicitFunctionFactory;
typedef Mantid::Kernel::SingletonHolder<ImplicitFunctionFactoryImpl>
ImplicitFunctionFactory;
}
}
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<Mantid::API::ImplicitFunctionFactoryImpl>;
}
}
......
......@@ -62,18 +62,16 @@ private:
~ImplicitFunctionParameterParserFactoryImpl() override = default;
};
/// Forward declaration of a specialisation of SingletonHolder for
/// ImplicitFunctionFactoryImpl (needed for dllexport/dllimport) and a typedef
/// for it.
#ifdef _WIN32
// this breaks new namespace declaraion rules; need to find a better fix
template class MANTID_API_DLL
Mantid::Kernel::SingletonHolder<ImplicitFunctionParameterParserFactoryImpl>;
#endif /* _WIN32 */
typedef MANTID_API_DLL
Mantid::Kernel::SingletonHolder<ImplicitFunctionParameterParserFactoryImpl>
ImplicitFunctionParameterParserFactory;
typedef Mantid::Kernel::SingletonHolder<
ImplicitFunctionParameterParserFactoryImpl>
ImplicitFunctionParameterParserFactory;
}
}
namespace Mantid {
namespace Kernel {
EXTERN_MANTID_API template class MANTID_API_DLL Mantid::Kernel::SingletonHolder<
Mantid::API::ImplicitFunctionParameterParserFactoryImpl>;
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment