[vcpkg] improve port depend hash used in CI build

also fixed a few unstable ports that somtimes fail in CI tests
This commit is contained in:
Phil Christensen 2019-02-01 23:38:44 -08:00
parent 86f15d6daf
commit 61e2cac730
6 changed files with 995 additions and 970 deletions

View File

@ -18,6 +18,7 @@ endif()
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS -DJSONCPP_WITH_CMAKE_PACKAGE:BOOL=ON OPTIONS -DJSONCPP_WITH_CMAKE_PACKAGE:BOOL=ON
-DBUILD_STATIC_LIBS:BOOL=${JSONCPP_STATIC} -DBUILD_STATIC_LIBS:BOOL=${JSONCPP_STATIC}
-DBUILD_SHARED_LIBS:BOOL=${JSONCPP_DYNAMIC} -DBUILD_SHARED_LIBS:BOOL=${JSONCPP_DYNAMIC}

View File

@ -13,6 +13,7 @@ vcpkg_from_github(
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS OPTIONS
-DUSES_RAPIDJSON=OFF -DUSES_RAPIDJSON=OFF
-DUSES_RAPIDXML=OFF -DUSES_RAPIDXML=OFF

View File

@ -1,3 +1,4 @@
Source: qt5-script Source: qt5-script
Version: 5.12.0 Version: 5.12.0
Build-Depends: qt5-base, qt5-modularscripts
Description:Qt5 Script Module. Description:Qt5 Script Module.

View File

@ -1,29 +1,16 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 02dfb83..35e01f8 100644 index 02dfb83..030a0b5 100644
--- a/src/CMakeLists.txt --- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -387,6 +387,9 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") @@ -386,11 +386,9 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
# TINYSPLINE_LIBRARY_C_FLAGS # TINYSPLINE_LIBRARY_C_FLAGS
set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /Wall") set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /Wall")
set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /WX") - set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /WX")
+ set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /wd4820")
+ set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /wd5045")
+ set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /wd4711")
# TINYSPLINE_LIBRARY_CXX_FLAGS # TINYSPLINE_LIBRARY_CXX_FLAGS
set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /Wall") set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /Wall")
@@ -395,6 +398,14 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /WX")
set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4514")
set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4710") set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4710")
set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4350") set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4350")
set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4820")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd5045")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4571")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4625")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4626")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd5026")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd5027")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4774")
+ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4711")
# TINYSPLINE_BINDING_CXX_FLAGS
set(TINYSPLINE_BINDING_CXX_FLAGS "${TINYSPLINE_BINDING_CXX_FLAGS} /w")

View File

@ -13,6 +13,7 @@ vcpkg_from_github(
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS_RELEASE -DCXXBLAS_DEBUG=OFF OPTIONS_RELEASE -DCXXBLAS_DEBUG=OFF
OPTIONS_DEBUG -DCXXBLAS_DEBUG=ON OPTIONS_DEBUG -DCXXBLAS_DEBUG=ON
OPTIONS OPTIONS

View File

@ -473,10 +473,44 @@ namespace vcpkg::Build
abi_tag_entries.emplace_back(AbiEntry{"cmake", paths.get_tool_version(Tools::CMAKE)}); abi_tag_entries.emplace_back(AbiEntry{"cmake", paths.get_tool_version(Tools::CMAKE)});
abi_tag_entries.emplace_back( // If there is an unusually large number of files in the port then
AbiEntry{"portfile", vcpkg::Hash::get_file_hash(fs, config.port_dir / "portfile.cmake", "SHA1")}); // something suspicious is going on. Rather than hash all of them
abi_tag_entries.emplace_back( // just mark the port as no-hash
AbiEntry{"control", vcpkg::Hash::get_file_hash(fs, config.port_dir / "CONTROL", "SHA1")}); const int max_port_file_count = 100;
// the order of recursive_directory_iterator is undefined so save the names to sort
std::vector<fs::path> port_files;
for (auto &port_file : fs::stdfs::recursive_directory_iterator(config.port_dir))
{
if (fs::is_regular_file(status(port_file)))
{
port_files.push_back(port_file);
if (port_files.size() > max_port_file_count)
{
abi_tag_entries.emplace_back(AbiEntry{ "no_hash_max_portfile", "" });
break;
}
}
}
if (port_files.size() <= max_port_file_count)
{
std::sort(port_files.begin(), port_files.end());
int counter = 0;
for (auto & port_file : port_files)
{
// When vcpkg takes a dependency on C++17 it can use fs::relative,
// which will give a stable ordering and better names in the key entry.
// this is not available in the filesystem TS so instead number the files for the key.
std::string key = Strings::format("file_%03d", counter++);
if (GlobalState::debugging)
{
System::println("[DEBUG] mapping %s from %s", key, port_file.string());
}
abi_tag_entries.emplace_back(AbiEntry{ key, vcpkg::Hash::get_file_hash(fs, port_file, "SHA1") });
}
}
abi_tag_entries.emplace_back(AbiEntry{"vcpkg_fixup_cmake_targets", "1"}); abi_tag_entries.emplace_back(AbiEntry{"vcpkg_fixup_cmake_targets", "1"});