FairMQ: Fix various errors from CI

* move Plugins::Version to fair::mq::tools
* fix Parser interface
* make device a shared pointer in main
* provide std::hash template specialization
* fix FairMQ.Plugins/FairMQ.PluginsStatic when run with ctest
* fix MQ/serialization example
* add --no-as-needed flag
* GCC 4 does not support member refs, move to pointer types
This commit is contained in:
Dennis Klein
2017-06-30 16:29:52 +02:00
committed by Mohammad Al-Turany
parent ad0f050c99
commit a26925cbf5
20 changed files with 153 additions and 104 deletions

View File

@@ -12,6 +12,7 @@
#include <tools/runSimpleMQStateMachine.h>
#include <fairmq/PluginManager.h>
#include <boost/program_options.hpp>
#include <memory>
template <typename R>
class GenericFairMQDevice : public FairMQDevice
@@ -60,14 +61,14 @@ int main(int argc, const char** argv)
config.ParseAll(argc, argv, true);
std::unique_ptr<FairMQDevice> device(getDevice(config));
std::shared_ptr<FairMQDevice> device{getDevice(config)};
if (!device)
{
LOG(ERROR) << "getDevice(): no valid device provided. Exiting.";
return 1;
}
pluginManager->EmplacePluginServices(config, *device);
pluginManager->EmplacePluginServices(&config, device);
pluginManager->InstantiatePlugins();
int result = runStateMachine(*device, config);