Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / muscle / main.cpp
1 //@@TODO reconcile /muscle with /muscle3.6\r
2 \r
3 #include "muscle.h"\r
4 #include <stdio.h>\r
5 #ifdef  WIN32\r
6 #include <windows.h>    // for SetPriorityClass()\r
7 #include <io.h>                 // for isatty()\r
8 #else\r
9 #include <unistd.h>             // for isatty()\r
10 #endif\r
11 \r
12 const char *MUSCLE_LONG_VERSION = "MUSCLE v" SHORT_VERSION "."\r
13 #include "svnversion.h"\r
14 " by Robert C. Edgar";\r
15 \r
16 int g_argc;\r
17 char **g_argv;\r
18 \r
19 int main(int argc, char **argv)\r
20         {\r
21 #if     WIN32\r
22 // Multi-tasking does not work well in CPU-bound\r
23 // console apps running under Win32.\r
24 // Reducing the process priority allows GUI apps\r
25 // to run responsively in parallel.\r
26         SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);\r
27 #endif\r
28         g_argc = argc;\r
29         g_argv = argv;\r
30 \r
31         SetNewHandler();\r
32         SetStartTime();\r
33         ProcessArgVect(argc - 1, argv + 1);\r
34         SetParams();\r
35         SetLogFile();\r
36 \r
37         //extern void TestSubFams(const char *);\r
38         //TestSubFams(g_pstrInFileName);\r
39         //return 0;\r
40 \r
41         if (g_bVersion)\r
42                 {\r
43                 printf("%s\n", MUSCLE_LONG_VERSION);\r
44                 exit(EXIT_SUCCESS);\r
45                 }\r
46 \r
47         if (!g_bQuiet)\r
48                 Credits();\r
49 \r
50         if (MissingCommand() && isatty(0))\r
51                 {\r
52                 Usage();\r
53                 exit(EXIT_SUCCESS);\r
54                 }\r
55 \r
56         if (g_bCatchExceptions)\r
57                 {\r
58                 try\r
59                         {\r
60                         Run();\r
61                         }\r
62                 catch (...)\r
63                         {\r
64                         OnException();\r
65                         exit(EXIT_Except);\r
66                         }\r
67                 }\r
68         else\r
69                 Run();\r
70 \r
71         exit(EXIT_Success);\r
72         }\r