-
Notifications
You must be signed in to change notification settings - Fork 94
Expand file tree
/
Copy pathappdir_test_main.cpp
More file actions
63 lines (49 loc) · 1.91 KB
/
appdir_test_main.cpp
File metadata and controls
63 lines (49 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// system headers
#include <filesystem>
#include <iostream>
// library headers
#include <args.hxx>
// local headers
#include <linuxdeploy/core/appdir.h>
#include "core/appdir.cpp"
namespace fs = std::filesystem;
using namespace linuxdeploy::core;
int main(const int argc, const char* const* const argv) {
args::ArgumentParser parser("AppDir test");
args::ValueFlag<std::string> appdir(parser, "appdir", "AppDir to use", {"appdir"});
args::Flag listExecutables(parser, "", "List executables in AppDir", {"list-executables"});
args::Flag listSharedLibraries(parser, "", "List shared libraries in AppDir", {"list-shared-libraries"});
args::ValueFlag<std::string> listFilesInDirectory(parser, "", "List files in directory relative to AppDir", {"list-files-in-directory"});
args::ValueFlag<std::string> listFilesInDirectoryRecursively(parser, "", "List files in directory relative to AppDir", {"list-files-in-directory-recursively"});
if (listFilesInDirectory) {
for (const auto& i : appdir::listFilesInDirectory(listFilesInDirectory.Get(), false)) {
std::cout << i.string() << std::endl;
}
return 1;
}
if (listFilesInDirectoryRecursively) {
for (const auto& i : appdir::listFilesInDirectory(listFilesInDirectoryRecursively.Get(), true)) {
std::cout << i.string() << std::endl;
}
return 1;
}
if (!appdir) {
std::cout << "--appdir required" << std::endl;
std::cout << std::endl << parser;
return 1;
}
appdir::AppDir appDir(appdir.Get());
if (listExecutables) {
for (const auto& i : appDir.listExecutables()) {
std::cout << i.string() << std::endl;
}
return 0;
}
if (listSharedLibraries) {
for (const auto& i : appDir.listSharedLibraries()) {
std::cout << i.string() << std::endl;
}
return 0;
}
return 0;
}