mirror of
https://github.com/audacity/linuxdeploy.git
synced 2026-04-19 19:34:35 -05:00
Add tool to debug AppDir class behavior
This commit is contained in:
@@ -17,3 +17,8 @@ add_subdirectory(core)
|
||||
add_executable(plugin_test plugin_test_main.cpp)
|
||||
target_link_libraries(plugin_test linuxdeploy_plugin)
|
||||
set_target_properties(plugin_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
|
||||
|
||||
add_executable(appdir_test appdir_test_main.cpp)
|
||||
target_link_libraries(appdir_test linuxdeploy_core args)
|
||||
target_include_directories(appdir_test PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/core)
|
||||
set_target_properties(appdir_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
|
||||
|
||||
58
src/appdir_test_main.cpp
Normal file
58
src/appdir_test_main.cpp
Normal file
@@ -0,0 +1,58 @@
|
||||
#include <iostream>
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <linuxdeploy/core/appdir.h>
|
||||
#include "core/appdir.cpp"
|
||||
#include <args.hxx>
|
||||
|
||||
namespace bf = boost::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;
|
||||
}
|
||||
Reference in New Issue
Block a user