mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-24 11:37:12 +01:00
lint_status -> LintStatus
This commit is contained in:
parent
e1af07d45a
commit
2d7beb71e7
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
namespace vcpkg::PostBuildLint
|
namespace vcpkg::PostBuildLint
|
||||||
{
|
{
|
||||||
enum class lint_status
|
enum class LintStatus
|
||||||
{
|
{
|
||||||
SUCCESS = 0,
|
SUCCESS = 0,
|
||||||
ERROR_DETECTED = 1
|
ERROR_DETECTED = 1
|
||||||
@ -64,24 +64,24 @@ namespace vcpkg::PostBuildLint
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_files_in_include_directory(const std::map<BuildPolicies::Type, OptBoolT>& policies, const fs::path& package_dir)
|
static LintStatus check_for_files_in_include_directory(const std::map<BuildPolicies::Type, OptBoolT>& policies, const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
if (contains_and_enabled(policies, BuildPolicies::EMPTY_INCLUDE_FOLDER))
|
if (contains_and_enabled(policies, BuildPolicies::EMPTY_INCLUDE_FOLDER))
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
const fs::path include_dir = package_dir / "include";
|
const fs::path include_dir = package_dir / "include";
|
||||||
if (!fs::exists(include_dir) || fs::is_empty(include_dir))
|
if (!fs::exists(include_dir) || fs::is_empty(include_dir))
|
||||||
{
|
{
|
||||||
System::println(System::Color::warning, "The folder /include is empty. This indicates the library was not correctly installed.");
|
System::println(System::Color::warning, "The folder /include is empty. This indicates the library was not correctly installed.");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_files_in_debug_include_directory(const fs::path& package_dir)
|
static LintStatus check_for_files_in_debug_include_directory(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
const fs::path debug_include_dir = package_dir / "debug" / "include";
|
const fs::path debug_include_dir = package_dir / "debug" / "include";
|
||||||
std::vector<fs::path> files_found;
|
std::vector<fs::path> files_found;
|
||||||
@ -96,13 +96,13 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println(System::Color::warning, "Include files should not be duplicated into the /debug/include directory. If this cannot be disabled in the project cmake, use\n"
|
System::println(System::Color::warning, "Include files should not be duplicated into the /debug/include directory. If this cannot be disabled in the project cmake, use\n"
|
||||||
" file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)"
|
" file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)"
|
||||||
);
|
);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_files_in_debug_share_directory(const fs::path& package_dir)
|
static LintStatus check_for_files_in_debug_share_directory(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
const fs::path debug_share = package_dir / "debug" / "share";
|
const fs::path debug_share = package_dir / "debug" / "share";
|
||||||
|
|
||||||
@ -110,25 +110,25 @@ namespace vcpkg::PostBuildLint
|
|||||||
{
|
{
|
||||||
System::println(System::Color::warning, "/debug/share should not exist. Please reorganize any important files, then use\n"
|
System::println(System::Color::warning, "/debug/share should not exist. Please reorganize any important files, then use\n"
|
||||||
" file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)");
|
" file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_folder_lib_cmake(const fs::path& package_dir, const PackageSpec& spec)
|
static LintStatus check_folder_lib_cmake(const fs::path& package_dir, const PackageSpec& spec)
|
||||||
{
|
{
|
||||||
const fs::path lib_cmake = package_dir / "lib" / "cmake";
|
const fs::path lib_cmake = package_dir / "lib" / "cmake";
|
||||||
if (fs::exists(lib_cmake))
|
if (fs::exists(lib_cmake))
|
||||||
{
|
{
|
||||||
System::println(System::Color::warning, "The /lib/cmake folder should be moved to /share/%s/cmake.", spec.name());
|
System::println(System::Color::warning, "The /lib/cmake folder should be moved to /share/%s/cmake.", spec.name());
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_misplaced_cmake_files(const fs::path& package_dir, const PackageSpec& spec)
|
static LintStatus check_for_misplaced_cmake_files(const fs::path& package_dir, const PackageSpec& spec)
|
||||||
{
|
{
|
||||||
std::vector<fs::path> misplaced_cmake_files;
|
std::vector<fs::path> misplaced_cmake_files;
|
||||||
Files::recursive_find_files_with_extension_in_dir(package_dir / "cmake", ".cmake", &misplaced_cmake_files);
|
Files::recursive_find_files_with_extension_in_dir(package_dir / "cmake", ".cmake", &misplaced_cmake_files);
|
||||||
@ -140,25 +140,25 @@ namespace vcpkg::PostBuildLint
|
|||||||
{
|
{
|
||||||
System::println(System::Color::warning, "The following cmake files were found outside /share/%s. Please place cmake files in /share/%s.", spec.name(), spec.name());
|
System::println(System::Color::warning, "The following cmake files were found outside /share/%s. Please place cmake files in /share/%s.", spec.name(), spec.name());
|
||||||
Files::print_paths(misplaced_cmake_files);
|
Files::print_paths(misplaced_cmake_files);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_folder_debug_lib_cmake(const fs::path& package_dir)
|
static LintStatus check_folder_debug_lib_cmake(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
const fs::path lib_cmake_debug = package_dir / "debug" / "lib" / "cmake";
|
const fs::path lib_cmake_debug = package_dir / "debug" / "lib" / "cmake";
|
||||||
if (fs::exists(lib_cmake_debug))
|
if (fs::exists(lib_cmake_debug))
|
||||||
{
|
{
|
||||||
System::println(System::Color::warning, "The /debug/lib/cmake folder should be moved to just /debug/cmake");
|
System::println(System::Color::warning, "The /debug/lib/cmake folder should be moved to just /debug/cmake");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_dlls_in_lib_dirs(const fs::path& package_dir)
|
static LintStatus check_for_dlls_in_lib_dirs(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
std::vector<fs::path> dlls;
|
std::vector<fs::path> dlls;
|
||||||
Files::recursive_find_files_with_extension_in_dir(package_dir / "lib", ".dll", &dlls);
|
Files::recursive_find_files_with_extension_in_dir(package_dir / "lib", ".dll", &dlls);
|
||||||
@ -168,19 +168,19 @@ namespace vcpkg::PostBuildLint
|
|||||||
{
|
{
|
||||||
System::println(System::Color::warning, "\nThe following dlls were found in /lib and /debug/lib. Please move them to /bin or /debug/bin, respectively.");
|
System::println(System::Color::warning, "\nThe following dlls were found in /lib and /debug/lib. Please move them to /bin or /debug/bin, respectively.");
|
||||||
Files::print_paths(dlls);
|
Files::print_paths(dlls);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_copyright_file(const PackageSpec& spec, const VcpkgPaths& paths)
|
static LintStatus check_for_copyright_file(const PackageSpec& spec, const VcpkgPaths& paths)
|
||||||
{
|
{
|
||||||
const fs::path packages_dir = paths.packages / spec.dir();
|
const fs::path packages_dir = paths.packages / spec.dir();
|
||||||
const fs::path copyright_file = packages_dir / "share" / spec.name() / "copyright";
|
const fs::path copyright_file = packages_dir / "share" / spec.name() / "copyright";
|
||||||
if (fs::exists(copyright_file))
|
if (fs::exists(copyright_file))
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
const fs::path current_buildtrees_dir = paths.buildtrees / spec.name();
|
const fs::path current_buildtrees_dir = paths.buildtrees / spec.name();
|
||||||
const fs::path current_buildtrees_dir_src = current_buildtrees_dir / "src";
|
const fs::path current_buildtrees_dir_src = current_buildtrees_dir / "src";
|
||||||
@ -209,7 +209,7 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println("\n file(COPY ${CURRENT_BUILDTREES_DIR}/%s DESTINATION ${CURRENT_PACKAGES_DIR}/share/%s)\n"
|
System::println("\n file(COPY ${CURRENT_BUILDTREES_DIR}/%s DESTINATION ${CURRENT_PACKAGES_DIR}/share/%s)\n"
|
||||||
" file(RENAME ${CURRENT_PACKAGES_DIR}/share/%s/%s ${CURRENT_PACKAGES_DIR}/share/%s/copyright)",
|
" file(RENAME ${CURRENT_PACKAGES_DIR}/share/%s/%s ${CURRENT_PACKAGES_DIR}/share/%s/copyright)",
|
||||||
relative_path.generic_string(), spec.name(), spec.name(), found_file.filename().generic_string(), spec.name());
|
relative_path.generic_string(), spec.name(), spec.name(), found_file.filename().generic_string(), spec.name());
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (potential_copyright_files.size() > 1)
|
if (potential_copyright_files.size() > 1)
|
||||||
@ -219,10 +219,10 @@ namespace vcpkg::PostBuildLint
|
|||||||
}
|
}
|
||||||
|
|
||||||
System::println(" %s/share/%s/copyright", packages_dir.generic_string(), spec.name());
|
System::println(" %s/share/%s/copyright", packages_dir.generic_string(), spec.name());
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_for_exes(const fs::path& package_dir)
|
static LintStatus check_for_exes(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
std::vector<fs::path> exes;
|
std::vector<fs::path> exes;
|
||||||
Files::recursive_find_files_with_extension_in_dir(package_dir / "bin", ".exe", &exes);
|
Files::recursive_find_files_with_extension_in_dir(package_dir / "bin", ".exe", &exes);
|
||||||
@ -232,13 +232,13 @@ namespace vcpkg::PostBuildLint
|
|||||||
{
|
{
|
||||||
System::println(System::Color::warning, "The following EXEs were found in /bin and /debug/bin. EXEs are not valid distribution targets.");
|
System::println(System::Color::warning, "The following EXEs were found in /bin and /debug/bin. EXEs are not valid distribution targets.");
|
||||||
Files::print_paths(exes);
|
Files::print_paths(exes);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_exports_of_dlls(const std::vector<fs::path>& dlls, const fs::path& dumpbin_exe)
|
static LintStatus check_exports_of_dlls(const std::vector<fs::path>& dlls, const fs::path& dumpbin_exe)
|
||||||
{
|
{
|
||||||
std::vector<fs::path> dlls_with_no_exports;
|
std::vector<fs::path> dlls_with_no_exports;
|
||||||
for (const fs::path& dll : dlls)
|
for (const fs::path& dll : dlls)
|
||||||
@ -258,17 +258,17 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println(System::Color::warning, "The following DLLs have no exports:");
|
System::println(System::Color::warning, "The following DLLs have no exports:");
|
||||||
Files::print_paths(dlls_with_no_exports);
|
Files::print_paths(dlls_with_no_exports);
|
||||||
System::println(System::Color::warning, "DLLs without any exports are likely a bug in the build script.");
|
System::println(System::Color::warning, "DLLs without any exports are likely a bug in the build script.");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_uwp_bit_of_dlls(const std::string& expected_system_name, const std::vector<fs::path>& dlls, const fs::path dumpbin_exe)
|
static LintStatus check_uwp_bit_of_dlls(const std::string& expected_system_name, const std::vector<fs::path>& dlls, const fs::path dumpbin_exe)
|
||||||
{
|
{
|
||||||
if (expected_system_name != "uwp")
|
if (expected_system_name != "uwp")
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<fs::path> dlls_with_improper_uwp_bit;
|
std::vector<fs::path> dlls_with_improper_uwp_bit;
|
||||||
@ -289,10 +289,10 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println(System::Color::warning, "The following DLLs do not have the App Container bit set:");
|
System::println(System::Color::warning, "The following DLLs do not have the App Container bit set:");
|
||||||
Files::print_paths(dlls_with_improper_uwp_bit);
|
Files::print_paths(dlls_with_improper_uwp_bit);
|
||||||
System::println(System::Color::warning, "This bit is required for Windows Store apps.");
|
System::println(System::Color::warning, "This bit is required for Windows Store apps.");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct FileAndArch
|
struct FileAndArch
|
||||||
@ -330,7 +330,7 @@ namespace vcpkg::PostBuildLint
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_dll_architecture(const std::string& expected_architecture, const std::vector<fs::path>& files)
|
static LintStatus check_dll_architecture(const std::string& expected_architecture, const std::vector<fs::path>& files)
|
||||||
{
|
{
|
||||||
std::vector<FileAndArch> binaries_with_invalid_architecture;
|
std::vector<FileAndArch> binaries_with_invalid_architecture;
|
||||||
|
|
||||||
@ -349,13 +349,13 @@ namespace vcpkg::PostBuildLint
|
|||||||
if (!binaries_with_invalid_architecture.empty())
|
if (!binaries_with_invalid_architecture.empty())
|
||||||
{
|
{
|
||||||
print_invalid_architecture_files(expected_architecture, binaries_with_invalid_architecture);
|
print_invalid_architecture_files(expected_architecture, binaries_with_invalid_architecture);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_lib_architecture(const std::string& expected_architecture, const std::vector<fs::path>& files)
|
static LintStatus check_lib_architecture(const std::string& expected_architecture, const std::vector<fs::path>& files)
|
||||||
{
|
{
|
||||||
std::vector<FileAndArch> binaries_with_invalid_architecture;
|
std::vector<FileAndArch> binaries_with_invalid_architecture;
|
||||||
|
|
||||||
@ -375,31 +375,31 @@ namespace vcpkg::PostBuildLint
|
|||||||
if (!binaries_with_invalid_architecture.empty())
|
if (!binaries_with_invalid_architecture.empty())
|
||||||
{
|
{
|
||||||
print_invalid_architecture_files(expected_architecture, binaries_with_invalid_architecture);
|
print_invalid_architecture_files(expected_architecture, binaries_with_invalid_architecture);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_no_dlls_present(const std::vector<fs::path>& dlls)
|
static LintStatus check_no_dlls_present(const std::vector<fs::path>& dlls)
|
||||||
{
|
{
|
||||||
if (dlls.empty())
|
if (dlls.empty())
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
System::println(System::Color::warning, "DLLs should not be present in a static build, but the following DLLs were found:");
|
System::println(System::Color::warning, "DLLs should not be present in a static build, but the following DLLs were found:");
|
||||||
Files::print_paths(dlls);
|
Files::print_paths(dlls);
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_matching_debug_and_release_binaries(const std::vector<fs::path>& debug_binaries, const std::vector<fs::path>& release_binaries)
|
static LintStatus check_matching_debug_and_release_binaries(const std::vector<fs::path>& debug_binaries, const std::vector<fs::path>& release_binaries)
|
||||||
{
|
{
|
||||||
const size_t debug_count = debug_binaries.size();
|
const size_t debug_count = debug_binaries.size();
|
||||||
const size_t release_count = release_binaries.size();
|
const size_t release_count = release_binaries.size();
|
||||||
if (debug_count == release_count)
|
if (debug_count == release_count)
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
System::println(System::Color::warning, "Mismatching number of debug and release binaries. Found %d for debug but %d for release.", debug_count, release_count);
|
System::println(System::Color::warning, "Mismatching number of debug and release binaries. Found %d for debug but %d for release.", debug_count, release_count);
|
||||||
@ -420,15 +420,15 @@ namespace vcpkg::PostBuildLint
|
|||||||
|
|
||||||
System::println("");
|
System::println("");
|
||||||
|
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_lib_files_are_available_if_dlls_are_available(const std::map<BuildPolicies::Type, OptBoolT>& policies, const size_t lib_count, const size_t dll_count, const fs::path& lib_dir)
|
static LintStatus check_lib_files_are_available_if_dlls_are_available(const std::map<BuildPolicies::Type, OptBoolT>& policies, const size_t lib_count, const size_t dll_count, const fs::path& lib_dir)
|
||||||
{
|
{
|
||||||
auto it = policies.find(BuildPolicies::DLLS_WITHOUT_LIBS);
|
auto it = policies.find(BuildPolicies::DLLS_WITHOUT_LIBS);
|
||||||
if (it != policies.cend() && it->second == OptBoolT::ENABLED)
|
if (it != policies.cend() && it->second == OptBoolT::ENABLED)
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lib_count == 0 && dll_count != 0)
|
if (lib_count == 0 && dll_count != 0)
|
||||||
@ -437,20 +437,20 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println(System::Color::warning,
|
System::println(System::Color::warning,
|
||||||
"If this is intended, add the following line in the portfile:\n"
|
"If this is intended, add the following line in the portfile:\n"
|
||||||
" SET(%s enabled)", BuildPolicies::DLLS_WITHOUT_LIBS.cmake_variable());
|
" SET(%s enabled)", BuildPolicies::DLLS_WITHOUT_LIBS.cmake_variable());
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_bin_folders_are_not_present_in_static_build(const fs::path& package_dir)
|
static LintStatus check_bin_folders_are_not_present_in_static_build(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
const fs::path bin = package_dir / "bin";
|
const fs::path bin = package_dir / "bin";
|
||||||
const fs::path debug_bin = package_dir / "debug" / "bin";
|
const fs::path debug_bin = package_dir / "debug" / "bin";
|
||||||
|
|
||||||
if (!fs::exists(bin) && !fs::exists(debug_bin))
|
if (!fs::exists(bin) && !fs::exists(debug_bin))
|
||||||
{
|
{
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fs::exists(bin))
|
if (fs::exists(bin))
|
||||||
@ -471,10 +471,10 @@ namespace vcpkg::PostBuildLint
|
|||||||
"\n"
|
"\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_no_empty_folders(const fs::path& dir)
|
static LintStatus check_no_empty_folders(const fs::path& dir)
|
||||||
{
|
{
|
||||||
const std::vector<fs::path> empty_directories = Files::recursive_find_matching_paths_in_dir(dir, [](const fs::path& current)
|
const std::vector<fs::path> empty_directories = Files::recursive_find_matching_paths_in_dir(dir, [](const fs::path& current)
|
||||||
{
|
{
|
||||||
@ -491,10 +491,10 @@ namespace vcpkg::PostBuildLint
|
|||||||
"\n"
|
"\n"
|
||||||
R"###( file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/a/dir ${CURRENT_PACKAGES_DIR}/some/other/dir))###""\n"
|
R"###( file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/a/dir ${CURRENT_PACKAGES_DIR}/some/other/dir))###""\n"
|
||||||
"\n");
|
"\n");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct BuildType_and_file
|
struct BuildType_and_file
|
||||||
@ -503,7 +503,7 @@ namespace vcpkg::PostBuildLint
|
|||||||
BuildType::Type build_type;
|
BuildType::Type build_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
static lint_status check_crt_linkage_of_libs(const BuildType::Type& expected_build_type, const std::vector<fs::path>& libs, const fs::path dumpbin_exe)
|
static LintStatus check_crt_linkage_of_libs(const BuildType::Type& expected_build_type, const std::vector<fs::path>& libs, const fs::path dumpbin_exe)
|
||||||
{
|
{
|
||||||
std::vector<BuildType::Type> bad_build_types(BuildType::values.cbegin(), BuildType::values.cend());
|
std::vector<BuildType::Type> bad_build_types(BuildType::values.cbegin(), BuildType::values.cend());
|
||||||
bad_build_types.erase(std::remove(bad_build_types.begin(), bad_build_types.end(), expected_build_type), bad_build_types.end());
|
bad_build_types.erase(std::remove(bad_build_types.begin(), bad_build_types.end(), expected_build_type), bad_build_types.end());
|
||||||
@ -537,10 +537,10 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println("");
|
System::println("");
|
||||||
|
|
||||||
System::println(System::Color::warning, "To inspect the lib files, use:\n dumpbin.exe /directives mylibfile.lib");
|
System::println(System::Color::warning, "To inspect the lib files, use:\n dumpbin.exe /directives mylibfile.lib");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct OutdatedDynamicCrt_and_file
|
struct OutdatedDynamicCrt_and_file
|
||||||
@ -551,7 +551,7 @@ namespace vcpkg::PostBuildLint
|
|||||||
OutdatedDynamicCrt_and_file() = delete;
|
OutdatedDynamicCrt_and_file() = delete;
|
||||||
};
|
};
|
||||||
|
|
||||||
static lint_status check_outdated_crt_linkage_of_dlls(const std::vector<fs::path>& dlls, const fs::path dumpbin_exe)
|
static LintStatus check_outdated_crt_linkage_of_dlls(const std::vector<fs::path>& dlls, const fs::path dumpbin_exe)
|
||||||
{
|
{
|
||||||
const std::vector<OutdatedDynamicCrt>& outdated_crts = get_outdated_dynamic_crts();
|
const std::vector<OutdatedDynamicCrt>& outdated_crts = get_outdated_dynamic_crts();
|
||||||
|
|
||||||
@ -584,13 +584,13 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println("");
|
System::println("");
|
||||||
|
|
||||||
System::println(System::Color::warning, "To inspect the dll files, use:\n dumpbin.exe /dependents mydllfile.dll");
|
System::println(System::Color::warning, "To inspect the dll files, use:\n dumpbin.exe /dependents mydllfile.dll");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lint_status check_no_files_in_package_dir_and_debug_dir(const fs::path& package_dir)
|
static LintStatus check_no_files_in_package_dir_and_debug_dir(const fs::path& package_dir)
|
||||||
{
|
{
|
||||||
std::vector<fs::path> misplaced_files;
|
std::vector<fs::path> misplaced_files;
|
||||||
|
|
||||||
@ -608,13 +608,13 @@ namespace vcpkg::PostBuildLint
|
|||||||
System::println(System::Color::warning, "The following files are placed in\n%s and\n%s: ", package_dir.generic_string(), debug_dir.generic_string());
|
System::println(System::Color::warning, "The following files are placed in\n%s and\n%s: ", package_dir.generic_string(), debug_dir.generic_string());
|
||||||
Files::print_paths(misplaced_files);
|
Files::print_paths(misplaced_files);
|
||||||
System::println(System::Color::warning, "Files cannot be present in those directories.\n");
|
System::println(System::Color::warning, "Files cannot be present in those directories.\n");
|
||||||
return lint_status::ERROR_DETECTED;
|
return LintStatus::ERROR_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return lint_status::SUCCESS;
|
return LintStatus::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void operator +=(size_t& left, const lint_status& right)
|
static void operator +=(size_t& left, const LintStatus& right)
|
||||||
{
|
{
|
||||||
left += static_cast<size_t>(right);
|
left += static_cast<size_t>(right);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user