diff --git a/scripts/cmake/vcpkg_download_sourceforge.cmake b/scripts/cmake/vcpkg_download_sourceforge.cmake new file mode 100644 index 0000000000..ad10ad690f --- /dev/null +++ b/scripts/cmake/vcpkg_download_sourceforge.cmake @@ -0,0 +1,85 @@ +function(vcpkg_download_sourceforge out_var) + cmake_parse_arguments(PARSE_ARGV 1 "arg" + "" + "REPO;REF;SHA512;FILENAME" + "") + + foreach(arg_name IN ITEMS REPO SHA512 FILENAME) + if(NOT DEFINED "arg_${arg_name}") + message(FATAL_ERROR "${arg_name} is required.") + endif() + endforeach() + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unrecognized arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + set(sourceforge_host "https://sourceforge.net/projects") + + if(arg_REPO MATCHES "^([^/]*)$") # just one element + set(org_name "${CMAKE_MATCH_1}") + set(repo_name "") + elseif(arg_REPO MATCHES "^([^/]*)/([^/]*)$") # two elements + set(org_name "${CMAKE_MATCH_1}") + set(repo_name "${CMAKE_MATCH_2}") + else() + message(FATAL_ERROR "REPO (${arg_REPO}) is not a valid repo name. It must be: + - an organization name without any slashes, or + - an organization name followed by a repository name separated by a single slash") + endif() + + if(DEFINED arg_REF) + set(url "${sourceforge_host}/${org_name}/files/${repo_name}/${arg_REF}/${arg_FILENAME}") + elseif(DEFINED repo_name) + set(url "${sourceforge_host}/${org_name}/${repo_name}/files/${arg_FILENAME}") + else() + set(url "${sourceforge_host}/${org_name}/files/${arg_FILENAME}") + endif() + + string(SUBSTRING "${arg_SHA512}" 0 10 sanitized_ref) + + set(sourceforge_mirrors + cfhcable # United States + pilotfiber # New York, NY + gigenet # Chicago, IL + versaweb # Las Vegas, NV + ayera # Modesto, CA + netactuate # Durham, NC + phoenixnap # Tempe, AZ + astuteinternet # Vancouver, BC + freefr # Paris, France + netcologne # Cologne, Germany + deac-riga # Latvia + excellmedia # Hyderabad, India + iweb # Montreal, QC + jaist # Nomi, Japan + jztkft # Mezotur, Hungary + managedway # Detroit, MI + nchc # Taipei, Taiwan + netix # Bulgaria + ufpr # Curitiba, Brazil + tenet # Wynberg, South Africa + ) + if(DEFINED SOURCEFORGE_MIRRORS AND NOT DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) + message(WARNING "Extension point SOURCEFORGE_MIRRORS has been deprecated. + Please use the replacement VCPKG_SOURCEFORGE_EXTRA_MIRRORS variable instead.") + list(APPEND sourceforge_mirrors "${SOURCEFORGE_MIRRORS}") + list(REMOVE_DUPLICATES sourceforge_mirrors) + elseif(DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) + list(APPEND sourceforge_mirrors "${VCPKG_SOURCEFORGE_EXTRA_MIRRORS}") + list(REMOVE_DUPLICATES sourceforge_mirrors) + endif() + + set(all_urls "${url}/download") + foreach(mirror IN LISTS sourceforge_mirrors) + list(APPEND all_urls "${url}/download?use_mirror=${mirror}") + endforeach() + + vcpkg_download_distfile(archive + URLS ${all_urls} + SHA512 "${arg_SHA512}" + FILENAME "${arg_FILENAME}" + ) + + set("${out_var}" "${archive}" PARENT_SCOPE) +endfunction() diff --git a/scripts/cmake/vcpkg_extract_archive.cmake b/scripts/cmake/vcpkg_extract_archive.cmake new file mode 100644 index 0000000000..b6bc868479 --- /dev/null +++ b/scripts/cmake/vcpkg_extract_archive.cmake @@ -0,0 +1,51 @@ +function(vcpkg_extract_archive) + cmake_parse_arguments(PARSE_ARGV 0 "arg" + "" + "ARCHIVE;DESTINATION" + "" + ) + + foreach(arg_name IN ITEMS ARCHIVE DESTINATION) + if(NOT DEFINED "arg_${arg_name}") + message(FATAL_ERROR "${arg_name} is required.") + endif() + endforeach() + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unrecognized arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + if(EXISTS "${arg_DESTINATION}") + message(FATAL_ERROR "${arg_DESTINATION} was an extraction target, but it already exists.") + endif() + + file(MAKE_DIRECTORY "${arg_DESTINATION}") + + cmake_path(GET arg_ARCHIVE EXTENSION archive_extension) + string(TOLOWER "${archive_extension}" archive_extension) + if("${archive_extension}" MATCHES [[\.msi$]]) + cmake_path(NATIVE_PATH arg_ARCHIVE archive_native_path) + cmake_path(NATIVE_PATH arg_DESTINATION destination_native_path) + cmake_path(GET arg_ARCHIVE PARENT_PATH archive_directory) + vcpkg_execute_in_download_mode( + COMMAND msiexec + /a "${archive_native_path}" + /qn "TARGETDIR=${destination_native_path}" + WORKING_DIRECTORY "${archive_directory}" + ) + elseif("${archive_extension}" MATCHES [[\.7z\.exe$]]) + vcpkg_find_acquire_program(7Z) + vcpkg_execute_in_download_mode( + COMMAND ${7Z} x + "${arg_ARCHIVE}" + "-o${arg_DESTINATION}" + -y -bso0 -bsp0 + WORKING_DIRECTORY "${arg_DESTINATION}" + ) + else() + vcpkg_execute_in_download_mode( + COMMAND "${CMAKE_COMMAND}" -E tar xzf "${arg_ARCHIVE}" + WORKING_DIRECTORY "${arg_DESTINATION}" + ) + endif() +endfunction() diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index f1ecb44e29..7b090c5eb2 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -2,13 +2,7 @@ function(z_vcpkg_extract_source_archive_deprecated_mode archive working_director cmake_path(GET archive FILENAME archive_filename) if(NOT EXISTS "${working_directory}/${archive_filename}.extracted") message(STATUS "Extracting source ${archive}") - file(MAKE_DIRECTORY "${working_directory}") - vcpkg_execute_required_process( - ALLOW_IN_DOWNLOAD_MODE - COMMAND "${CMAKE_COMMAND}" -E tar xjf "${archive}" - WORKING_DIRECTORY "${working_directory}" - LOGNAME extract - ) + vcpkg_extract_archive(ARCHIVE "${archive}" DESTINATION "${working_directory}") file(TOUCH "${working_directory}/${archive_filename}.extracted") endif() endfunction() diff --git a/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake b/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake index b4b34fefea..88617b1ca3 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake @@ -1,7 +1,9 @@ set(program_name 7z) -set(tool_subdirectory "23.01") -set(paths_to_search "${DOWNLOADS}/tools/7zip_msi-${tool_subdirectory}-windows/Files/7-Zip") # vcpkg fetch 7zip_msi path -list(APPEND paths_to_search "${DOWNLOADS}/tools/7z/${tool_subdirectory}/Files/7-Zip") -set(download_urls "https://7-zip.org/a/7z2301.msi") -set(download_filename "7z2301.msi") -set(download_sha512 002c8ab30be802fa5fa90896d2bdf710bfbd89e39487af25af9d63821986e6d11c42b1c4f4acc79d325719b10193cd31c38f648403ef16f0580609afa8da9596) +if(CMAKE_HOST_WIN32) + set(tool_subdirectory "23.01") + set(paths_to_search "${DOWNLOADS}/tools/7zip_msi-${tool_subdirectory}-windows/Files/7-Zip") # vcpkg fetch 7zip_msi path + list(APPEND paths_to_search "${DOWNLOADS}/tools/7z/${tool_subdirectory}/Files/7-Zip") + set(download_urls "https://7-zip.org/a/7z2301.msi") + set(download_filename "7z2301.msi") + set(download_sha512 002c8ab30be802fa5fa90896d2bdf710bfbd89e39487af25af9d63821986e6d11c42b1c4f4acc79d325719b10193cd31c38f648403ef16f0580609afa8da9596) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake b/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake index 5241f21eec..16153deffa 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake @@ -1,6 +1,8 @@ set(program_name aria2c) set(program_version 1.35.0) -set(paths_to_search "${DOWNLOADS}/tools/aria2c/aria2-${program_version}-win-32bit-build1") -set(download_urls "https://github.com/aria2/aria2/releases/download/release-${program_version}/aria2-${program_version}-win-32bit-build1.zip") -set(download_filename "aria2-${program_version}-win-32bit-build1.zip") -set(download_sha512 933537cad820b1cecf43a9eeca7e1b241dd7b1c902ee942441a166f2c38845f16046321efbdfa2f83c7e9fc50c7ecc5da6fd00e0c6e2124c07d3b783aa5092a4) +if(CMAKE_HOST_WIN32) + set(paths_to_search "${DOWNLOADS}/tools/aria2c/aria2-${program_version}-win-32bit-build1") + set(download_urls "https://github.com/aria2/aria2/releases/download/release-${program_version}/aria2-${program_version}-win-32bit-build1.zip") + set(download_filename "aria2-${program_version}-win-32bit-build1.zip") + set(download_sha512 933537cad820b1cecf43a9eeca7e1b241dd7b1c902ee942441a166f2c38845f16046321efbdfa2f83c7e9fc50c7ecc5da6fd00e0c6e2124c07d3b783aa5092a4) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake b/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake index f3521f0e94..59153af6eb 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake @@ -2,14 +2,12 @@ set(program_name bazel) set(program_version 4.2.2) set(rename_binary_to "bazel") if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") - set(supported_on_unix ON) set(tool_subdirectory "${program_version}-linux") set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") set(download_filename "bazel-${tool_subdirectory}-x86_64") set(raw_executable ON) set(download_sha512 f38619e054df78cab38278a5901b2798f2e25b5cec53358d98278002e713d225fd3df96a209b7f22a2357835a279cee8ef1768e10561b3e9fe6361f324563bb9) elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(supported_on_unix ON) set(tool_subdirectory "${program_version}-darwin") set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") set(download_filename "bazel-${tool_subdirectory}-x86_64") diff --git a/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake b/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake index 3efc1b73a9..9362a7ed28 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake @@ -1,6 +1,8 @@ set(program_name dark) -set(tool_subdirectory "wix311-binaries") -set(paths_to_search "${DOWNLOADS}/tools/dark/${tool_subdirectory}") -set(download_urls "https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip") -set(download_filename "wix311-binaries.zip") -set(download_sha512 74f0fa29b5991ca655e34a9d1000d47d4272e071113fada86727ee943d913177ae96dc3d435eaf494d2158f37560cd4c2c5274176946ebdb17bf2354ced1c516) +if(CMAKE_HOST_WIN32) + set(tool_subdirectory "wix311-binaries") + set(paths_to_search "${DOWNLOADS}/tools/dark/${tool_subdirectory}") + set(download_urls "https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip") + set(download_filename "wix311-binaries.zip") + set(download_sha512 74f0fa29b5991ca655e34a9d1000d47d4272e071113fada86727ee943d913177ae96dc3d435eaf494d2158f37560cd4c2c5274176946ebdb17bf2354ced1c516) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake b/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake index fa1f19d36c..86ebf4f5a6 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake @@ -1,11 +1,11 @@ set(program_name doxygen) set(program_version 1.9.1) -vcpkg_list(SET sourceforge_args - REPO doxygen - REF "rel-${program_version}" - FILENAME "doxygen-${program_version}.windows.bin.zip" - SHA512 c3eeb6b9fa4eab70fb6b0864fbbf94fb8050f3fee38d117cf470921a80e3569cc1c8b0272604d6731e05f01790cfaa70e159bec5d0882fc4f2d8ae4a5d52a21b - NO_REMOVE_ONE_LEVEL - WORKING_DIRECTORY "${DOWNLOADS}/tools/doxygen" - ) -set(tool_subdirectory c3eeb6b9fa-76d69c6db5) +if(CMAKE_HOST_WIN32) + set(download_filename "doxygen-${program_version}.windows.bin.zip") + set(download_sha512 "c3eeb6b9fa4eab70fb6b0864fbbf94fb8050f3fee38d117cf470921a80e3569cc1c8b0272604d6731e05f01790cfaa70e159bec5d0882fc4f2d8ae4a5d52a21b") + vcpkg_list(SET sourceforge_args + REPO doxygen + REF "rel-${program_version}" + ) + set(tool_subdirectory c3eeb6b9fa-76d69c6db5) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(GN).cmake b/scripts/cmake/vcpkg_find_acquire_program(GN).cmake index 473ecd826c..94b5690226 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(GN).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(GN).cmake @@ -7,7 +7,6 @@ else() # Old behavior message("Consider adding vcpkg-tool-gn as a host dependency of this port or create an issue at https://github.com/microsoft/vcpkg/issues") set(cipd_download_gn "https://chrome-infra-packages.appspot.com/dl/gn/gn") if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") - set(supported_on_unix ON) EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if(HOST_ARCH STREQUAL "aarch64") set(program_version "GkfFAfAUyE-qfeWkdUMaeM1Ov64Fk3SjSj9pwKqZX7gC") @@ -19,7 +18,6 @@ else() # Old behavior set(download_sha512 "A7A5CD5633C5547EC1B1A95958486DDAAC91F1A65881EDC0AD8F74DF44E82F08BA74358E9A72DFCDDE6F534A6B9C9A430D3E16ACE2E4346C4D2E9113F7654B3F") endif() elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(supported_on_unix ON) EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if(HOST_ARCH STREQUAL "arm64") set(program_version "qMPtGq7xZlpb-lHjP-SK27ftT4X71WIvguuyx6X14DEC") @@ -31,7 +29,7 @@ else() # Old behavior set(download_sha512 "2696ECE7B2C8008CABDDF10024017E2ECF875F8679424E77052252BDDC83A2096DF3C61D89CD25120EF27E0458C8914BEEED9D418593BDBC4F6ED33A8D4C3DC5") endif() else() - if($ENV{PROCESSOR_ARCHITECTURE} STREQUAL "ARM64") + if("$ENV{PROCESSOR_ARCHITECTURE}" STREQUAL "ARM64") set(program_version "q5ExVHmXyD34Q_Tzb-aRxsPipO-e37-csVRhVM7IJh0C") set(gn_platform "windows-amd64") set(download_sha512 "FA764AA44EB6F48ED50E855B4DC1DD1ABE35E45FD4AAC7F059A35293A14894C1B591215E34FB0CE9362E646EA9463BA3B489EFB7EBBAA2693D14238B50E4E686") diff --git a/scripts/cmake/vcpkg_find_acquire_program(GO).cmake b/scripts/cmake/vcpkg_find_acquire_program(GO).cmake index 0ca0e03692..d2e59abd88 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(GO).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(GO).cmake @@ -1,8 +1,10 @@ set(program_name go) -set(tool_subdirectory 1.21.1.windows-386) -set(paths_to_search "${DOWNLOADS}/tools/go/${tool_subdirectory}/go/bin") set(brew_package_name "go") set(apt_package_name "golang-go") -set(download_urls "https://dl.google.com/go/go${tool_subdirectory}.zip") -set(download_filename "go${tool_subdirectory}.zip") -set(download_sha512 417a4bd95a10f21c2166badd2303e1956d91d0e783e334c99ea0176a323e815729c8c3af3f7ec68f057b757d06bcc75be82584031c4069c89a2db62bbfa902e8) +if(CMAKE_HOST_WIN32) + set(tool_subdirectory 1.21.1.windows-386) + set(paths_to_search "${DOWNLOADS}/tools/go/${tool_subdirectory}/go/bin") + set(download_urls "https://dl.google.com/go/go${tool_subdirectory}.zip") + set(download_filename "go${tool_subdirectory}.zip") + set(download_sha512 417a4bd95a10f21c2166badd2303e1956d91d0e783e334c99ea0176a323e815729c8c3af3f7ec68f057b757d06bcc75be82584031c4069c89a2db62bbfa902e8) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake b/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake index d10a1c435d..dc52162655 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake @@ -1,6 +1,8 @@ set(program_name gperf) set(program_version 3.0.1) -set(paths_to_search "${DOWNLOADS}/tools/gperf/bin") -set(download_urls "https://sourceforge.net/projects/gnuwin32/files/gperf/${program_version}/gperf-${program_version}-bin.zip/download") -set(download_filename "gperf-${program_version}-bin.zip") -set(download_sha512 3f2d3418304390ecd729b85f65240a9e4d204b218345f82ea466ca3d7467789f43d0d2129fcffc18eaad3513f49963e79775b10cc223979540fa2e502fe7d4d9) +if(CMAKE_HOST_WIN32) + set(download_filename "gperf-${program_version}-bin.zip") + set(download_sha512 3f2d3418304390ecd729b85f65240a9e4d204b218345f82ea466ca3d7467789f43d0d2129fcffc18eaad3513f49963e79775b10cc223979540fa2e502fe7d4d9) + set(download_urls "https://sourceforge.net/projects/gnuwin32/files/gperf/${program_version}/gperf-${program_version}-bin.zip/download") + set(paths_to_search "${DOWNLOADS}/tools/gperf/bin") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake b/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake index 1842a26340..f3d5a2d1de 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake @@ -1,11 +1,13 @@ set(program_name jom) set(program_version_string 1_1_4) -set(tool_subdirectory "jom-${program_version_string}") -set(paths_to_search "${DOWNLOADS}/tools/jom/${tool_subdirectory}") -set(download_urls - "https://download.qt.io/official_releases/jom/jom_${program_version_string}.zip" - "https://mirrors.ocf.berkeley.edu/qt/official_releases/jom/jom_${program_version_string}.zip" - "https://mirrors.ukfast.co.uk/sites/qt.io/official_releases/jom/jom_${program_version_string}.zip" -) -set(download_filename "jom_${program_version_string}.zip") -set(download_sha512 a683bd829c84942223a791dae8abac5cfc2e3fa7de84c6fdc490ad3aa996a26c9fa0be0636890f02c9d56948bbe3225b43497cb590d1cb01e70c6fac447fa17b) +if(CMAKE_HOST_WIN32) + set(download_urls + "https://download.qt.io/official_releases/jom/jom_${program_version_string}.zip" + "https://mirrors.ocf.berkeley.edu/qt/official_releases/jom/jom_${program_version_string}.zip" + "https://mirrors.ukfast.co.uk/sites/qt.io/official_releases/jom/jom_${program_version_string}.zip" + ) + set(download_filename "jom_${program_version_string}.zip") + set(download_sha512 a683bd829c84942223a791dae8abac5cfc2e3fa7de84c6fdc490ad3aa996a26c9fa0be0636890f02c9d56948bbe3225b43497cb590d1cb01e70c6fac447fa17b) + set(tool_subdirectory "jom-${program_version_string}") + set(paths_to_search "${DOWNLOADS}/tools/jom/${tool_subdirectory}") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake b/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake index 4bb05a0911..d927040bf8 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake @@ -15,5 +15,4 @@ else() # Old behavior set(download_urls "https://github.com/mesonbuild/meson/archive/${ref}.tar.gz") set(download_filename "meson-${ref}.tar.gz") set(download_sha512 18a012a45274dbb4582e99fd69d920f38831e788d9860f9553c64847bedb1c2010ae0b5c0ef4a4350c03f5e0f95aaa0395378e1208109b59640c1a70b1e202d2) - set(supported_on_unix ON) endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake b/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake index 63573380c1..8e76bede81 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake @@ -1,8 +1,13 @@ set(program_name nasm) set(program_version 2.16.01) -set(paths_to_search "${DOWNLOADS}/tools/nasm/nasm-${program_version}") set(brew_package_name "nasm") set(apt_package_name "nasm") -set(download_urls "https://www.nasm.us/pub/nasm/releasebuilds/${program_version}/win64/nasm-${program_version}-win64.zip" "https://gstreamer.freedesktop.org/src/mirror/nasm-${program_version}-win64.zip") -set(download_filename "nasm-${program_version}-win64.zip") -set(download_sha512 ce4d02f530dc3376b4513f219bbcec128ee5bebd8a5c332599b48d8071f803d1538d7258fec7c2e9b4d725b8d7314cea2696289d0493017eb13bfe70e5cb5062) +if(CMAKE_HOST_WIN32) + set(download_urls + "https://www.nasm.us/pub/nasm/releasebuilds/${program_version}/win64/nasm-${program_version}-win64.zip" + "https://gstreamer.freedesktop.org/src/mirror/nasm-${program_version}-win64.zip" + ) + set(download_filename "nasm-${program_version}-win64.zip") + set(download_sha512 ce4d02f530dc3376b4513f219bbcec128ee5bebd8a5c332599b48d8071f803d1538d7258fec7c2e9b4d725b8d7314cea2696289d0493017eb13bfe70e5cb5062) + set(paths_to_search "${DOWNLOADS}/tools/nasm/nasm-${program_version}") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake b/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake index b94b29f461..a7bbc9add0 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake @@ -1,6 +1,5 @@ set(program_name ninja) set(program_version 1.10.2) -set(supported_on_unix ON) set(version_command --version) if(CMAKE_HOST_WIN32) set(download_filename "ninja-win-${program_version}.zip") @@ -15,7 +14,6 @@ elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(download_sha512 bcd12f6a3337591306d1b99a7a25a6933779ba68db79f17c1d3087d7b6308d245daac08df99087ff6be8dc7dd0dcdbb3a50839a144745fa719502b3a7a07260b) elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") set(paths_to_search "${DOWNLOADS}/tools/${tool_subdirectory}-freebsd") - set(supported_on_unix OFF) else() execute_process(COMMAND "uname" "-m" OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if(HOST_ARCH MATCHES "x86_64|amd64|AMD64") diff --git a/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake b/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake index d7f1bd9b01..f7c1ffbb79 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake @@ -1,9 +1,11 @@ set(program_name nuget) -set(tool_subdirectory "5.11.0") -set(paths_to_search "${DOWNLOADS}/tools/nuget-${tool_subdirectory}-windows") set(brew_package_name "nuget") -set(download_urls "https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe") -set(rename_binary_to "nuget.exe") -set(download_filename "nuget.5.11.0.exe") -set(raw_executable ON) -set(download_sha512 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7) +if(CMAKE_HOST_WIN32) + set(download_urls "https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe") + set(download_filename "nuget.5.11.0.exe") + set(download_sha512 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7) + set(tool_subdirectory "5.11.0") + set(paths_to_search "${DOWNLOADS}/tools/nuget-${tool_subdirectory}-windows") + set(raw_executable ON) + set(rename_binary_to "nuget.exe") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake b/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake index 1827bfa973..a10c75d2ba 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake @@ -1,6 +1,5 @@ set(program_name patchelf) set(program_version 0.14.5) -set(supported_on_unix ON) if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") execute_process(COMMAND "uname" "-m" OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if(HOST_ARCH STREQUAL "aarch64") diff --git a/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake b/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake index dab3981190..aba77e4b04 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake @@ -1,11 +1,13 @@ set(program_name perl) set(program_version 5.38.0.1) -set(tool_subdirectory ${program_version}) -set(paths_to_search ${DOWNLOADS}/tools/perl/${tool_subdirectory}/perl/bin) set(brew_package_name "perl") set(apt_package_name "perl") -set(download_urls - "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip" -) -set(download_filename "strawberry-perl-5.38.0.1-64bit-portable.zip") -set(download_sha512 9b604f19e245a809bd18857bd91ebaec81ca031394ec69a3369df64d3590d2c9d557326d8aa10f91e78b1f1d56689aa57a8ec3a8cad4d2e542c96eb714a3831d) +if(CMAKE_HOST_WIN32) + set(download_urls + "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip" + ) + set(download_filename "strawberry-perl-5.38.0.1-64bit-portable.zip") + set(download_sha512 9b604f19e245a809bd18857bd91ebaec81ca031394ec69a3369df64d3590d2c9d557326d8aa10f91e78b1f1d56689aa57a8ec3a8cad4d2e542c96eb714a3831d) + set(tool_subdirectory ${program_version}) + set(paths_to_search ${DOWNLOADS}/tools/perl/${tool_subdirectory}/perl/bin) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake b/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake index 559d3dc6f7..d6ef8a21cf 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake @@ -1,12 +1,11 @@ set(program_name pkg-config) -if(DEFINED ENV{PKG_CONFIG}) +if(DEFINED "ENV{PKG_CONFIG}") debug_message(STATUS "PKG_CONFIG found in ENV! Using $ENV{PKG_CONFIG}") set(PKGCONFIG "$ENV{PKG_CONFIG}" CACHE INTERNAL "") set(PKGCONFIG "${PKGCONFIG}" PARENT_SCOPE) return() elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD") # As of 6.8, the OpenBSD specific pkg-config doesn't support {pcfiledir} - set(supported_on_unix ON) set(rename_binary_to "pkg-config") set(program_version 0.29.2.1) set(raw_executable ON) diff --git a/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake b/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake index e6c948d5d9..c955e6ad65 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake @@ -1,6 +1,8 @@ set(program_name "ruby") set(program_version 2.7.4-1) -set(paths_to_search "${DOWNLOADS}/tools/ruby/rubyinstaller-${program_version}-x86/bin") -set(download_urls "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${program_version}/rubyinstaller-${program_version}-x86.7z") -set(download_filename "rubyinstaller-${program_version}-x86.7z") -set(download_sha512 4bf459c987b407bdda328c52d95060bf6ad48fc3e5ed5f64d4b205c5b4153c7a00cb6f9da6c0bcd5f2e001e9dc3dda0b72269ec4afdeffd658b93c085cd1d859) +if(CMAKE_HOST_WIN32) + set(download_urls "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${program_version}/rubyinstaller-${program_version}-x86.7z") + set(download_filename "rubyinstaller-${program_version}-x86.7z") + set(download_sha512 4bf459c987b407bdda328c52d95060bf6ad48fc3e5ed5f64d4b205c5b4153c7a00cb6f9da6c0bcd5f2e001e9dc3dda0b72269ec4afdeffd658b93c085cd1d859) + set(paths_to_search "${DOWNLOADS}/tools/ruby/rubyinstaller-${program_version}-x86/bin") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake b/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake index 0ced68ce2f..e5056a9e76 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake @@ -1,8 +1,10 @@ set(program_name scons) set(program_version 4.1.0) -set(tool_subdirectory "${program_version}") set(interpreter PYTHON2) set(search_names "scons.py") -set(download_urls "https://sourceforge.net/projects/scons/files/scons-local-${program_version}.zip/download") -set(download_filename "scons-local-${program_version}.zip") -set(download_sha512 b173176ce8aca25039c64fcc68ec1b9ad31e03a926fd545e7631b3f9b374d914adffc593f505e3e7e2867b0ffe85e8deb0b39afe314edf05d02974ce5db1badb) +if(CMAKE_HOST_WIN32) + set(download_urls "https://sourceforge.net/projects/scons/files/scons-local-${program_version}.zip/download") + set(download_filename "scons-local-${program_version}.zip") + set(download_sha512 b173176ce8aca25039c64fcc68ec1b9ad31e03a926fd545e7631b3f9b374d914adffc593f505e3e7e2867b0ffe85e8deb0b39afe314edf05d02974ce5db1badb) + set(tool_subdirectory "${program_version}") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake b/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake index 5fe019c096..5189eda22b 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake @@ -1,15 +1,15 @@ set(program_version 4.0.2) set(program_name swig) if(CMAKE_HOST_WIN32) + set(download_filename "swigwin-${program_version}.zip") + set(download_sha512 "b8f105f9b9db6acc1f6e3741990915b533cd1bc206eb9645fd6836457fd30789b7229d2e3219d8e35f2390605ade0fbca493ae162ec3b4bc4e428b57155db03d") vcpkg_list(SET sourceforge_args REPO swig/swigwin REF "swigwin-${program_version}" - FILENAME "swigwin-${program_version}.zip" - SHA512 b8f105f9b9db6acc1f6e3741990915b533cd1bc206eb9645fd6836457fd30789b7229d2e3219d8e35f2390605ade0fbca493ae162ec3b4bc4e428b57155db03d - NO_REMOVE_ONE_LEVEL - WORKING_DIRECTORY "${DOWNLOADS}/tools/swig" ) - set(tool_subdirectory "b8f105f9b9-f0518bc3b7/swigwin-${program_version}") + + set(tool_subdirectory "b8f105f9b9-f0518bc3b7") + set(paths_to_search "${DOWNLOADS}/tools/swig/b8f105f9b9-f0518bc3b7/swigwin-${program_version}") else() set(apt_package_name "swig") set(brew_package_name "swig") diff --git a/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake b/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake index e676ceabea..ae8c8771d7 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake @@ -1,10 +1,12 @@ set(program_name yasm) set(program_version 1.3.0.6.g1962) -set(tool_subdirectory 1.3.0.6) set(brew_package_name "yasm") set(apt_package_name "yasm") -set(download_urls "https://www.tortall.net/projects/yasm/snapshots/v${program_version}/yasm-${program_version}.exe") -set(download_filename "yasm-${program_version}.exe") -set(rename_binary_to "yasm.exe") -set(raw_executable ON) -set(download_sha512 c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b) +if(CMAKE_HOST_WIN32) + set(download_urls "https://www.tortall.net/projects/yasm/snapshots/v${program_version}/yasm-${program_version}.exe") + set(download_filename "yasm-${program_version}.exe") + set(download_sha512 c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b) + set(tool_subdirectory 1.3.0.6) + set(raw_executable ON) + set(rename_binary_to "yasm.exe") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 32825d86ca..3b92d822b7 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -105,7 +105,6 @@ function(vcpkg_find_acquire_program program) set(rename_binary_to "") set(tool_subdirectory "") set(interpreter "") - set(supported_on_unix "") set(post_install_command "") set(paths_to_search "") set(version_command "") @@ -153,7 +152,7 @@ function(vcpkg_find_acquire_program program) ) endif() if(NOT ${program}) - if(NOT VCPKG_HOST_IS_WINDOWS AND NOT supported_on_unix) + if("${download_urls}" STREQUAL "" AND "${sourceforge_args}" STREQUAL "") set(example ".") if(NOT "${brew_package_name}" STREQUAL "" AND VCPKG_HOST_IS_OSX) set(example ":\n brew install ${brew_package_name}") @@ -163,66 +162,41 @@ function(vcpkg_find_acquire_program program) message(FATAL_ERROR "Could not find ${program_name}. Please install it via your package manager${example}") endif() - if(NOT "${sourceforge_args}" STREQUAL "") - # Locally change editable to suppress re-extraction each time - set(_VCPKG_EDITABLE 1) - vcpkg_from_sourceforge(OUT_SOURCE_PATH SFPATH ${sourceforge_args}) - unset(_VCPKG_EDITABLE) - else() + if("${sourceforge_args}" STREQUAL "") vcpkg_download_distfile(archive_path URLS ${download_urls} SHA512 "${download_sha512}" FILENAME "${download_filename}" ) - + else() + vcpkg_download_sourceforge(archive_path + ${sourceforge_args} + SHA512 "${download_sha512}" + FILENAME "${download_filename}" + ) + endif() + if(raw_executable) file(MAKE_DIRECTORY "${full_subdirectory}") - if(raw_executable) - if(NOT "${rename_binary_to}" STREQUAL "") - file(INSTALL "${archive_path}" - DESTINATION "${full_subdirectory}" - RENAME "${rename_binary_to}" - FILE_PERMISSIONS - OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE - ) - else() - file(COPY "${archive_path}" - DESTINATION "${full_subdirectory}" - FILE_PERMISSIONS - OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE - ) - endif() + if("${rename_binary_to}" STREQUAL "") + file(COPY "${archive_path}" + DESTINATION "${full_subdirectory}" + FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) else() - cmake_path(GET download_filename EXTENSION archive_extension) - string(TOLOWER "${archive_extension}" archive_extension) - if("${archive_extension}" MATCHES [[\.msi$]]) - cmake_path(NATIVE_PATH archive_path archive_native_path) - cmake_path(NATIVE_PATH full_subdirectory destination_native_path) - vcpkg_execute_in_download_mode( - COMMAND msiexec - /a "${archive_native_path}" - /qn "TARGETDIR=${destination_native_path}" - WORKING_DIRECTORY "${DOWNLOADS}" - ) - elseif("${archive_extension}" MATCHES [[\.7z\.exe$]]) - vcpkg_find_acquire_program(7Z) - vcpkg_execute_in_download_mode( - COMMAND ${7Z} x - "${archive_path}" - "-o${full_subdirectory}" - -y -bso0 -bsp0 - WORKING_DIRECTORY "${full_subdirectory}" - ) - else() - vcpkg_execute_in_download_mode( - COMMAND "${CMAKE_COMMAND}" -E tar xzf "${archive_path}" - WORKING_DIRECTORY "${full_subdirectory}" - ) - endif() + file(INSTALL "${archive_path}" + DESTINATION "${full_subdirectory}" + RENAME "${rename_binary_to}" + FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) endif() + else() + vcpkg_extract_archive(ARCHIVE "${archive_path}" DESTINATION "${full_subdirectory}") endif() if(NOT "${post_install_command}" STREQUAL "") diff --git a/scripts/cmake/vcpkg_from_sourceforge.cmake b/scripts/cmake/vcpkg_from_sourceforge.cmake index b2209ab358..19772c3050 100644 --- a/scripts/cmake/vcpkg_from_sourceforge.cmake +++ b/scripts/cmake/vcpkg_from_sourceforge.cmake @@ -4,93 +4,32 @@ function(vcpkg_from_sourceforge) "OUT_SOURCE_PATH;REPO;REF;SHA512;FILENAME;WORKING_DIRECTORY" "PATCHES") - if(NOT DEFINED arg_OUT_SOURCE_PATH) - message(FATAL_ERROR "OUT_SOURCE_PATH must be specified.") - endif() - if(NOT DEFINED arg_SHA512) - message(FATAL_ERROR "SHA512 must be specified.") - endif() - if(NOT DEFINED arg_REPO) - message(FATAL_ERROR "The sourceforge repository must be specified.") - endif() - + foreach(arg_name IN ITEMS OUT_SOURCE_PATH SHA512 REPO FILENAME) + if(NOT DEFINED "arg_${arg_name}") + message(FATAL_ERROR "${arg_name} is required.") + endif() + endforeach() if(arg_DISABLE_SSL) message(WARNING "DISABLE_SSL has been deprecated and has no effect") endif() - - set(sourceforge_host "https://sourceforge.net/projects") - if(arg_REPO MATCHES "^([^/]*)$") # just one element - set(org_name "${CMAKE_MATCH_1}") - set(repo_name "") - elseif(arg_REPO MATCHES "^([^/]*)/([^/]*)$") # two elements - set(org_name "${CMAKE_MATCH_1}") - set(repo_name "${CMAKE_MATCH_2}") - else() - message(FATAL_ERROR "REPO (${arg_REPO}) is not a valid repo name. It must be: - - an organization name without any slashes, or - - an organization name followed by a repository name separated by a single slash") - endif() - - if(DEFINED arg_REF) - set(url "${sourceforge_host}/${org_name}/files/${repo_name}/${arg_REF}/${arg_FILENAME}") - elseif(DEFINED repo_name) - set(url "${sourceforge_host}/${org_name}/${repo_name}/files/${arg_FILENAME}") - else() - set(url "${sourceforge_host}/${org_name}/files/${arg_FILENAME}") - endif() - - string(SUBSTRING "${arg_SHA512}" 0 10 sanitized_ref) - - set(sourceforge_mirrors - cfhcable # United States - pilotfiber # New York, NY - gigenet # Chicago, IL - versaweb # Las Vegas, NV - ayera # Modesto, CA - netactuate # Durham, NC - phoenixnap # Tempe, AZ - astuteinternet # Vancouver, BC - freefr # Paris, France - netcologne # Cologne, Germany - deac-riga # Latvia - excellmedia # Hyderabad, India - iweb # Montreal, QC - jaist # Nomi, Japan - jztkft # Mezotur, Hungary - managedway # Detroit, MI - nchc # Taipei, Taiwan - netix # Bulgaria - ufpr # Curitiba, Brazil - tenet # Wynberg, South Africa - ) - if(DEFINED SOURCEFORGE_MIRRORS AND NOT DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) - message(WARNING "Extension point SOURCEFORGE_MIRRORS has been deprecated. - Please use the replacement VCPKG_SOURCEFORGE_EXTRA_MIRRORS variable instead.") - list(APPEND sourceforge_mirrors "${SOURCEFORGE_MIRRORS}") - list(REMOVE_DUPLICATES sourceforge_mirrors) - elseif(DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) - list(APPEND sourceforge_mirrors "${VCPKG_SOURCEFORGE_EXTRA_MIRRORS}") - list(REMOVE_DUPLICATES sourceforge_mirrors) + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unrecognized arguments: ${arg_UNPARSED_ARGUMENTS}") endif() - set(all_urls "${url}/download") - foreach(mirror IN LISTS sourceforge_mirrors) - list(APPEND all_urls "${url}/download?use_mirror=${mirror}") - endforeach() - - vcpkg_download_distfile(ARCHIVE - URLS ${all_urls} + vcpkg_download_sourceforge(ARCHIVE + REPO "${arg_REPO}" + REF "${arg_REF}" SHA512 "${arg_SHA512}" FILENAME "${arg_FILENAME}" ) set(no_remove_one_level_param "") - set(working_directory_param "") if(arg_NO_REMOVE_ONE_LEVEL) set(no_remove_one_level_param "NO_REMOVE_ONE_LEVEL") endif() + set(working_directory_param "") if(DEFINED arg_WORKING_DIRECTORY) set(working_directory_param "WORKING_DIRECTORY" "${arg_WORKING_DIRECTORY}") endif() diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 8cc7f125ea..e18ee37bde 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -48,9 +48,11 @@ include("${SCRIPTS}/cmake/vcpkg_copy_pdbs.cmake") include("${SCRIPTS}/cmake/vcpkg_copy_tool_dependencies.cmake") include("${SCRIPTS}/cmake/vcpkg_copy_tools.cmake") include("${SCRIPTS}/cmake/vcpkg_download_distfile.cmake") +include("${SCRIPTS}/cmake/vcpkg_download_sourceforge.cmake") include("${SCRIPTS}/cmake/vcpkg_execute_build_process.cmake") include("${SCRIPTS}/cmake/vcpkg_execute_required_process.cmake") include("${SCRIPTS}/cmake/vcpkg_execute_required_process_repeat.cmake") +include("${SCRIPTS}/cmake/vcpkg_extract_archive.cmake") include("${SCRIPTS}/cmake/vcpkg_extract_source_archive.cmake") include("${SCRIPTS}/cmake/vcpkg_extract_source_archive_ex.cmake") include("${SCRIPTS}/cmake/vcpkg_fail_port_install.cmake")