#include #include #include #include #include int main(int argc, char **argv) { try { OptionParser &options = OptionParser::getOptions(); hk::Mind mind; std::cout << PACKAGE_NAME << " " << PACKAGE_VERSION << std::endl; try { options.parseArguments(argc, argv); } catch (const std::invalid_argument& e) { std::cerr << e.what() << '\n' << options.getUsage() << '\n'; return EXIT_FAILURE; } if (options.printUsage) { std::cout << options.getUsage() << std::endl; return EXIT_SUCCESS; } options.dumpOptions(); DeviceManager::getInstance().collateAllDeviceSpecs(options); DeviceManager::getInstance().parseAllDeviceSpecs(); std::cout << DeviceManager::printDeviceSpecs() << std::endl; } catch (const std::exception& e) { std::cerr << "Exception occurred: " << e.what() << std::endl; return EXIT_FAILURE; } catch (...) { std::cerr << "Unknown exception occurred" << std::endl; return EXIT_FAILURE; } std::cout << "Exiting normally" << std::endl; return 0; }