Parse command line arguments
| 708 | |
| 709 | // Parse command line arguments |
| 710 | bool parse_args(int argc, char *argv[]) |
| 711 | { |
| 712 | for (int i = 1; i < argc; ++i) |
| 713 | { |
| 714 | std::string arg = argv[i]; |
| 715 | |
| 716 | if (arg == "--help") |
| 717 | { |
| 718 | print_usage(argv[0]); |
| 719 | return false; |
| 720 | } |
| 721 | else if (arg == "--events" && i + 1 < argc) |
| 722 | { |
| 723 | g_config.total_events = std::stoull(argv[++i]); |
| 724 | } |
| 725 | else if (arg == "--threads" && i + 1 < argc) |
| 726 | { |
| 727 | g_config.thread_count = std::stoull(argv[++i]); |
| 728 | } |
| 729 | else if (arg == "--baseline" && i + 1 < argc) |
| 730 | { |
| 731 | g_config.baseline_file = argv[++i]; |
| 732 | } |
| 733 | else if (arg == "--record-baseline") |
| 734 | { |
| 735 | g_config.record_baseline = true; |
| 736 | } |
| 737 | else if (arg == "--compare-baseline") |
| 738 | { |
| 739 | g_config.compare_baseline = true; |
| 740 | } |
| 741 | else if (arg == "--verbose") |
| 742 | { |
| 743 | g_config.verbose = true; |
| 744 | } |
| 745 | else |
| 746 | { |
| 747 | std::cerr << "Unknown option: " << arg << std::endl; |
| 748 | print_usage(argv[0]); |
| 749 | return false; |
| 750 | } |
| 751 | } |
| 752 | |
| 753 | return true; |
| 754 | } |
| 755 | |
| 756 | int main(int argc, char *argv[]) |
| 757 | { |