Line data Source code
1 : //
2 : // Class IpplInfo
3 : // Global Ippl information.
4 : //
5 : #include "Ippl.h"
6 : #include "IpplVersions.h"
7 :
8 : #include "Utility/IpplInfo.h"
9 :
10 : #include <csignal>
11 : #include <cstdio>
12 : #include <unistd.h>
13 :
14 : /////////////////////////////////////////////////////////////////////
15 : // printVersion: print out a version summary. If the argument is true,
16 : // print out a detailed listing, otherwise a summary.
17 0 : void IpplInfo::printVersion(void) {
18 0 : std::cout << "IPPL Framework version " << version() << std::endl;
19 0 : std::cout << "Last build date: " << compileDate() << " by user ";
20 0 : std::cout << compileUser() << std::endl;
21 0 : std::cout << "Built for machine: " << compileMachine() << std::endl;
22 0 : }
23 :
24 0 : void IpplInfo::printHelp(char** argv) {
25 0 : std::cout << "Usage: " << argv[0] << " [<option> ...]\n";
26 0 : std::cout << "The possible values for <option> are:\n";
27 0 : std::cout << " --info <n> : Set info message level. 0 = off.\n";
28 0 : std::cout << " --overallocate|-b <factor> : Set the buffer overallocation factor\n";
29 : std::cout << " --timer-fences <on|off> : Enable or disable timer fences (default enabled "
30 : "if only "
31 0 : "one accelerator present)\n";
32 0 : std::cout << " --help : Print IPPL help message\n";
33 0 : std::cout << " --kokkos-help : Print Kokkos help message\n";
34 0 : }
35 :
36 : /////////////////////////////////////////////////////////////////////
37 : // version: return the name of this version of Ippl, as a string
38 : // (from Versions.h)
39 0 : const char* IpplInfo::version() {
40 0 : return ippl_version_name;
41 : }
42 :
43 : /////////////////////////////////////////////////////////////////////
44 : // compileArch: return the architecture on which this library was built
45 : // (from IpplVersions.h)
46 0 : const char* IpplInfo::compileArch() {
47 0 : return ippl_compile_arch;
48 : }
49 :
50 : /////////////////////////////////////////////////////////////////////
51 : // compileDate: return the date on which this library was prepared for
52 : // compilation (from IpplVersions.h)
53 0 : const char* IpplInfo::compileDate() {
54 0 : return ippl_compile_date;
55 : }
56 :
57 : /////////////////////////////////////////////////////////////////////
58 : // compileLine: return the compiler command used to compile each source file
59 : // (from IpplVersions.h)
60 0 : const char* IpplInfo::compileLine() {
61 0 : return ippl_compile_line;
62 : }
63 :
64 : /////////////////////////////////////////////////////////////////////
65 : // compileMachine: return the machine on which this library was
66 : // compiled (from IpplVersions.h)
67 0 : const char* IpplInfo::compileMachine() {
68 0 : return ippl_compile_machine;
69 : }
70 :
71 : /////////////////////////////////////////////////////////////////////
72 : // compileOptions: return the option list used to compile this library
73 : // (from IpplVersions.h)
74 0 : const char* IpplInfo::compileOptions() {
75 0 : return ippl_compile_options;
76 : }
77 :
78 : /////////////////////////////////////////////////////////////////////
79 : // compileUser: return the username of the user who compiled this
80 : // library (from IpplVersions.h)
81 0 : const char* IpplInfo::compileUser() {
82 0 : return ippl_compile_user;
83 : }
|