@@ -322,6 +322,8 @@ OREApp::OREApp(boost::shared_ptr<Parameters> params, bool console)
322322
323323 // Read setup
324324 readSetup ();
325+
326+ dummyRegisterBuildersForWindows ();
325327}
326328
327329OREApp::OREApp (const boost::shared_ptr<InputParameters>& inputs, const std::string& logFile, Size logLevel,
@@ -348,6 +350,71 @@ OREApp::OREApp(const boost::shared_ptr<InputParameters>& inputs, const std::stri
348350 Log::instance ().registerLogger (boost::make_shared<FileLogger>(logFilePath));
349351 Log::instance ().setMask (logLevel);
350352 Log::instance ().switchOn ();
353+
354+ dummyRegisterBuildersForWindows ();
355+ }
356+
357+ void OREApp::dummyRegisterBuildersForWindows () {
358+ TradeFactory::instance ().addBuilder (" Swap" , boost::make_shared<TradeBuilder<Swap>>(), true );
359+ TradeFactory::instance ().addBuilder (" Swaption" , boost::make_shared<TradeBuilder<Swaption>>(), true );
360+ TradeFactory::instance ().addBuilder (" CapFloor" , boost::make_shared<TradeBuilder<CapFloor>>(), true );
361+ TradeFactory::instance ().addBuilder (" ForwardRateAgreement" ,
362+ boost::make_shared<TradeBuilder<ForwardRateAgreement>>(), true );
363+ TradeFactory::instance ().addBuilder (" FxForward" , boost::make_shared<TradeBuilder<FxForward>>(), true );
364+ TradeFactory::instance ().addBuilder (" FxOption" , boost::make_shared<TradeBuilder<FxOption>>(), true );
365+ TradeFactory::instance ().addBuilder (" FxSwap" , boost::make_shared<TradeBuilder<FxSwap>>(), true );
366+
367+ EngineBuilderFactory::instance ().addEngineBuilder ([]() { return boost::make_shared<SwapEngineBuilder>(); });
368+ EngineBuilderFactory::instance ().addEngineBuilder (
369+ []() { return boost::make_shared<CrossCurrencySwapEngineBuilder>(); });
370+ EngineBuilderFactory::instance ().addEngineBuilder ([]() { return boost::make_shared<FxForwardEngineBuilder>(); });
371+ EngineBuilderFactory::instance ().addEngineBuilder (
372+ []() { return boost::make_shared<FxEuropeanOptionEngineBuilder>(); });
373+ EngineBuilderFactory::instance ().addEngineBuilder (
374+ []() { return boost::make_shared<FxEuropeanCSOptionEngineBuilder>(); });
375+ EngineBuilderFactory::instance ().addEngineBuilder (
376+ []() { return boost::make_shared<FxAmericanOptionFDEngineBuilder>(); });
377+ EngineBuilderFactory::instance ().addEngineBuilder (
378+ []() { return boost::make_shared<FxAmericanOptionBAWEngineBuilder>(); });
379+ EngineBuilderFactory::instance ().addEngineBuilder ([]() { return boost::make_shared<CapFloorEngineBuilder>(); });
380+ EngineBuilderFactory::instance ().addEngineBuilder (
381+ []() { return boost::make_shared<CapFlooredOvernightIndexedCouponLegEngineBuilder>(); });
382+ EngineBuilderFactory::instance ().addEngineBuilder (
383+ []() { return boost::make_shared<CapFlooredAverageONIndexedCouponLegEngineBuilder>(); });
384+ EngineBuilderFactory::instance ().addEngineBuilder (
385+ []() { return boost::make_shared<CapFlooredIborLegEngineBuilder>(); });
386+ EngineBuilderFactory::instance ().addEngineBuilder (
387+ []() { return boost::make_shared<LinearTSRCmsCouponPricerBuilder>(); });
388+
389+ EngineBuilderFactory::instance ().addAmcEngineBuilder (
390+ [](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
391+ return boost::make_shared<CamAmcCurrencySwapEngineBuilder>(cam, grid);
392+ });
393+ EngineBuilderFactory::instance ().addAmcEngineBuilder (
394+ [](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
395+ return boost::make_shared<CamAmcFxOptionEngineBuilder>(cam, grid);
396+ });
397+ EngineBuilderFactory::instance ().addAmcEngineBuilder (
398+ [](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
399+ return boost::make_shared<CamAmcSwapEngineBuilder>(cam, grid);
400+ });
401+ EngineBuilderFactory::instance ().addAmcEngineBuilder (
402+ [](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
403+ return boost::make_shared<LgmAmcBermudanSwaptionEngineBuilder>(cam, grid);
404+ });
405+
406+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<FixedLegBuilder>(); });
407+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<ZeroCouponFixedLegBuilder>(); });
408+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<FloatingLegBuilder>(); });
409+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<CashflowLegBuilder>(); });
410+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<CPILegBuilder>(); });
411+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<YYLegBuilder>(); });
412+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<CMSLegBuilder>(); });
413+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<CMBLegBuilder>(); });
414+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<DigitalCMSLegBuilder>(); });
415+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<CMSSpreadLegBuilder>(); });
416+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<DigitalCMSSpreadLegBuilder>(); });
417+ EngineBuilderFactory::instance ().addLegBuilder ([]() { return boost::make_shared<EquityLegBuilder>(); });
351418}
352419
353420OREApp::~OREApp () {
0 commit comments