aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2020-02-06 15:41:38 -0800
committerGitHub <noreply@github.com>2020-02-06 15:41:38 -0800
commit5affb590fde248a4dc1fa0eebe7bf64688bd75e2 (patch)
tree2180afaa8d2caf274503cc010aba71dcc23757c9 /toolsrc/src
parent9c910eccc231fb1a9232847b4435357d15794727 (diff)
parent877ebc43249461196670dbecd3c1cfd5a6265d2a (diff)
downloadvcpkg-5affb590fde248a4dc1fa0eebe7bf64688bd75e2.tar.gz
vcpkg-5affb590fde248a4dc1fa0eebe7bf64688bd75e2.zip
Merge pull request #9901 from Neumann-A/skip_dumpbin
[vcpkg] Add policy VCPKG_POLICY_SKIP_DUMPBIN_CHECKS
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/vcpkg/build.cpp3
-rw-r--r--toolsrc/src/vcpkg/postbuildlint.cpp17
2 files changed, 10 insertions, 10 deletions
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index bcacb331a..c65cf9b77 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -173,6 +173,7 @@ namespace vcpkg::Build
static const std::string NAME_EMPTY_INCLUDE_FOLDER = "PolicyEmptyIncludeFolder";
static const std::string NAME_ALLOW_OBSOLETE_MSVCRT = "PolicyAllowObsoleteMsvcrt";
static const std::string NAME_ALLOW_RESTRICTED_HEADERS = "PolicyAllowRestrictedHeaders";
+ static const std::string NAME_SKIP_DUMPBIN_CHECKS = "PolicySkipDumpbinChecks";
const std::string& to_string(BuildPolicy policy)
{
@@ -185,6 +186,7 @@ namespace vcpkg::Build
case BuildPolicy::EMPTY_INCLUDE_FOLDER: return NAME_EMPTY_INCLUDE_FOLDER;
case BuildPolicy::ALLOW_OBSOLETE_MSVCRT: return NAME_ALLOW_OBSOLETE_MSVCRT;
case BuildPolicy::ALLOW_RESTRICTED_HEADERS: return NAME_ALLOW_RESTRICTED_HEADERS;
+ case BuildPolicy::SKIP_DUMPBIN_CHECKS: return NAME_SKIP_DUMPBIN_CHECKS;
default: Checks::unreachable(VCPKG_LINE_INFO);
}
}
@@ -200,6 +202,7 @@ namespace vcpkg::Build
case BuildPolicy::EMPTY_INCLUDE_FOLDER: return "VCPKG_POLICY_EMPTY_INCLUDE_FOLDER";
case BuildPolicy::ALLOW_OBSOLETE_MSVCRT: return "VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT";
case BuildPolicy::ALLOW_RESTRICTED_HEADERS: return "VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS";
+ case BuildPolicy::SKIP_DUMPBIN_CHECKS: return "VCPKG_POLICY_SKIP_DUMPBIN_CHECKS";
default: Checks::unreachable(VCPKG_LINE_INFO);
}
}
diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp
index b346e1721..663d2e3c9 100644
--- a/toolsrc/src/vcpkg/postbuildlint.cpp
+++ b/toolsrc/src/vcpkg/postbuildlint.cpp
@@ -200,7 +200,7 @@ namespace vcpkg::PostBuildLint
System::print2(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)\n");
+ " file(REMOVE_RECURSE \"${CURRENT_PACKAGES_DIR}/debug/include\")\n");
return LintStatus::ERROR_DETECTED;
}
@@ -215,7 +215,7 @@ namespace vcpkg::PostBuildLint
{
System::print2(System::Color::warning,
"/debug/share should not exist. Please reorganize any important files, then use\n"
- " file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)\n");
+ " file(REMOVE_RECURSE \"${CURRENT_PACKAGES_DIR}/debug/share\")\n");
return LintStatus::ERROR_DETECTED;
}
@@ -349,11 +349,8 @@ namespace vcpkg::PostBuildLint
const fs::path relative_path = found_file.string().erase(
0, current_buildtrees_dir.string().size() + 1); // The +1 is needed to remove the "/"
System::printf(
- "\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)\n",
+ "\n configure_file(\"${CURRENT_BUILDTREES_DIR}/%s/%s\" \"${CURRENT_PACKAGES_DIR}/share/%s/copyright\" COPYONLY)\n",
relative_path.generic_string(),
- spec.name(),
- spec.name(),
found_file.filename().generic_string(),
spec.name());
}
@@ -662,7 +659,7 @@ namespace vcpkg::PostBuildLint
"\n"
R"###( if(VCPKG_LIBRARY_LINKAGE STREQUAL "static"))###"
"\n"
- R"###( file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin))###"
+ R"###( file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin"))###"
"\n"
R"###( endif())###"
"\n\n");
@@ -689,7 +686,7 @@ namespace vcpkg::PostBuildLint
"If the directories are not needed and their creation cannot be disabled, use something like this in "
"the portfile to remove them:\n"
"\n"
- R"###( file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/a/dir ${CURRENT_PACKAGES_DIR}/some/other/dir))###"
+ R"###( file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/a/dir" "${CURRENT_PACKAGES_DIR}/some/other/dir"))###"
"\n"
"\n"
"\n");
@@ -903,7 +900,7 @@ namespace vcpkg::PostBuildLint
dlls.insert(dlls.cend(), debug_dlls.cbegin(), debug_dlls.cend());
dlls.insert(dlls.cend(), release_dlls.cbegin(), release_dlls.cend());
- if (!toolset.dumpbin.empty())
+ if (!toolset.dumpbin.empty() && !build_info.policies.is_enabled(BuildPolicy::SKIP_DUMPBIN_CHECKS))
{
error_count += check_exports_of_dlls(build_info.policies, dlls, toolset.dumpbin);
error_count += check_uwp_bit_of_dlls(pre_build_info.cmake_system_name, dlls, toolset.dumpbin);
@@ -924,7 +921,7 @@ namespace vcpkg::PostBuildLint
error_count += check_bin_folders_are_not_present_in_static_build(fs, package_dir);
- if (!toolset.dumpbin.empty())
+ if (!toolset.dumpbin.empty() && !build_info.policies.is_enabled(BuildPolicy::SKIP_DUMPBIN_CHECKS))
{
if (!build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT))
{