Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions src/include/utils/vm_args.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,15 +134,14 @@ bool parse_options(int argc, char *argv[], program_args_t& parsed_args) {

// Help has highest priority
if (vm.count("help")) {
// Custom help formatting to match the desired style
print_help(general);
return false; // Exit after showing help
parsed_args.command = "help";
return true;
}

if (vm.count("version")) {
// Custom help formatting to match the desired style
std::cout << "FLM v" << __FLM_VERSION__ << std::endl;
return false; // Exit after showing help
parsed_args.command = "version";
return true;
}

// Extract command
Expand All @@ -152,7 +151,7 @@ bool parse_options(int argc, char *argv[], program_args_t& parsed_args) {
// Handle help and version commands directly
if (parsed_args.command == "help") {
print_help(general);
return false; // Exit after showing help
return true;
}

if (parsed_args.command == "version") {
Expand Down
43 changes: 23 additions & 20 deletions src/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -472,10 +472,31 @@ int main(int argc, char* argv[]) {
// Parse command line arguments using Boost Program Options
program_args_t parsed_args;
if (!arg_utils::parse_options(argc, argv, parsed_args)) {
return 1; // Help was already printed by Boost Program Options
return 1;
}

if (parsed_args.command == "help") {
return 0;
}

if (parsed_args.command == "version") {
if (parsed_args.json_output) {
std::cout << "{ \"version\": \"" << __FLM_VERSION__ << "\" }" << std::endl;
} else {
std::cout << "FLM v" << __FLM_VERSION__ << std::endl;
}
return 0;
}

if (parsed_args.command == "port") {
if (parsed_args.json_output) {
std::cout << "{ \"port\": " << utils::get_server_port(parsed_args.port) << " }" << std::endl;
} else {
std::cout << "Server Port: " << utils::get_server_port(parsed_args.port) << std::endl;
}
return 0;
}


// Get the command, model tag, and force flag
std::string exe_dir = utils::get_executable_directory();
std::string config_path;
Expand Down Expand Up @@ -577,24 +598,6 @@ int main(int argc, char* argv[]) {
#endif

// code for all commands:

if (parsed_args.command == "version") {
if (parsed_args.json_output) {
std::cout << "{ \"version\": \"" << __FLM_VERSION__ << "\" }" << std::endl;
} else {
std::cout << "FLM v" << __FLM_VERSION__ << std::endl;
}
return 0;
}

if (parsed_args.command == "port"){
if (parsed_args.json_output) {
std::cout << "{ \"port\": " << utils::get_server_port(parsed_args.port) << " }" << std::endl;
} else {
std::cout << "Server Port: " << utils::get_server_port(parsed_args.port) << std::endl;
}
return 0;
}

if (parsed_args.preemption){
header_print("FLM", "Allowing high priority tasks to preempt FLM!");
Expand Down
Loading