aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/buildsystems/vcpkg.cmake2
-rw-r--r--scripts/ci.baseline.txt89
-rw-r--r--scripts/cmake/vcpkg_common_definitions.cmake21
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake8
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake44
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake2
-rw-r--r--scripts/get_triplet_environment.cmake16
-rw-r--r--scripts/ports.cmake13
-rw-r--r--scripts/templates/portfile.in.cmake7
-rw-r--r--scripts/toolchains/mingw.cmake40
-rw-r--r--scripts/vcpkg_get_dep_info.cmake19
-rw-r--r--scripts/vcpkg_get_tags.cmake28
12 files changed, 204 insertions, 85 deletions
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index e549f3fa1..5b596cba2 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -67,7 +67,7 @@ else()
elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$")
set(_VCPKG_TARGET_TRIPLET_ARCH x86)
elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$")
- set(_VCPKG_TARGET_TRIPLET_ARCH x86)
+ set(_VCPKG_TARGET_TRIPLET_ARCH x64)
else()
find_program(_VCPKG_CL cl)
if(_VCPKG_CL MATCHES "amd64/cl.exe$" OR _VCPKG_CL MATCHES "x64/cl.exe$")
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index ab88ed6f6..392414ff5 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -88,9 +88,13 @@ argtable2:x64-uwp=fail
arrow:arm64-windows=fail
arrow:x64-linux=fail
arrow:x86-windows=fail
+asiosdk:x64-linux=fail
+asiosdk:x64-osx=fail
+asiosdk:x64-uwp=fail
+asiosdk:arm64-windows=fail
+asiosdk:arm-uwp=fail
asmjit:arm64-windows=fail
asmjit:arm-uwp=fail
-asmjit:x64-uwp=fail
asyncplusplus:arm-uwp=fail
asyncplusplus:x64-uwp=fail
atk:x64-osx=fail
@@ -113,6 +117,7 @@ aws-lambda-cpp:x64-uwp=fail
aws-lambda-cpp:x64-windows=fail
aws-lambda-cpp:x64-windows-static=fail
aws-lambda-cpp:x86-windows=fail
+aws-lambda-cpp:x64-osx=fail
aws-sdk-cpp:x64-linux=ignore
azure-c-shared-utility:arm-uwp=fail
azure-c-shared-utility:x64-uwp=fail
@@ -219,6 +224,9 @@ chakracore:x64-linux=fail
chakracore:x64-osx=fail
chakracore:x64-uwp=fail
chakracore:x64-windows-static=fail
+# DCMTK currently has a vendored copy of libcharls.a, which causes conflicts with charls (TODO: use charls' copy)
+charls:x64-linux=skip
+charls:x64-osx=skip
chartdir:arm64-windows=fail
chartdir:arm-uwp=fail
chartdir:x64-uwp=fail
@@ -274,8 +282,6 @@ cppfs:x64-uwp=fail
cppgraphqlgen:arm-uwp=fail
cppgraphqlgen:x64-uwp=ignore
cppkafka:x64-linux=ignore
-cppmicroservices:x86-windows=fail
-cppmicroservices:x64-windows=fail
cppmicroservices:arm64-windows=fail
cppmicroservices:arm-uwp=fail
cppmicroservices:x64-uwp=fail
@@ -295,8 +301,6 @@ cpuinfo:arm64-windows=ignore
crfsuite:arm-uwp=fail
crfsuite:x64-uwp=fail
crossguid:x64-osx=fail
-cryptopp:arm64-windows=fail
-cryptopp:arm-uwp=fail
cspice:arm-uwp=fail
cspice:x64-uwp=fail
ctemplate:arm64-windows=fail
@@ -374,7 +378,6 @@ dxut:arm-uwp=fail
dxut:x64-linux=fail
dxut:x64-osx=fail
dxut:x64-windows-static=fail
-eastl:arm64-windows=fail
eastl:arm-uwp=fail
easyhook:arm64-windows=fail
easyhook:arm-uwp=fail
@@ -384,6 +387,10 @@ easyhook:x64-uwp=fail
easyhook:x64-windows-static=fail
easyloggingpp:arm-uwp=fail
easyloggingpp:x64-uwp=fail
+eathread:arm64-windows=fail
+eathread:arm-uwp=fail
+eathread:x64-uwp=fail
+eathread:x86-windows=fail
ebml:arm-uwp=fail
ebml:x64-uwp=fail
ecm:arm64-windows = skip
@@ -468,7 +475,6 @@ freeglut:arm64-windows=fail
freeglut:arm-uwp=fail
freeglut:x64-uwp=fail
freeglut:x64-osx=fail
-freeimage:x64-osx=fail
freerdp:arm64-windows=fail
freerdp:arm-uwp=fail
freerdp:x64-osx=fail
@@ -490,8 +496,6 @@ fribidi:arm-uwp=fail
fribidi:x64-linux=fail
fribidi:x64-osx=fail
fribidi:x64-uwp=fail
-ftgl:x64-linux=fail
-ftgl:x64-osx=fail
ftgl:x64-uwp=fail
fuzzylite:arm-uwp=fail
fuzzylite:x64-linux=fail
@@ -654,7 +658,6 @@ jemalloc:x64-uwp=fail
jemalloc:x64-windows-static=fail
jinja2cpplight:arm-uwp=fail
jinja2cpplight:x64-uwp=fail
-jsonnet:x64-osx=fail
kd-soap:x64-linux=fail
kd-soap:x64-osx=fail
kd-soap:x64-windows-static=fail
@@ -677,6 +680,7 @@ lcm:x64-linux=fail
lcm:x64-osx=fail
leptonica:x64-uwp=fail
leptonica:arm-uwp=fail
+leptonica:arm64-windows=fail
leveldb:arm-uwp=fail
leveldb:x64-uwp=fail
libaiff:x64-linux=fail
@@ -748,6 +752,12 @@ libgo:x64-osx=fail
libgo:x64-windows=fail
libgo:x64-windows-static=fail
libgo:x86-windows=fail
+libgpod:arm64-windows=fail
+libgpod:arm-uwp=fail
+libgpod:x64-uwp=fail
+libgpod:x64-windows=fail
+libgpod:x64-windows-static=fail
+libgpod:x86-windows=fail
libhydrogen:arm64-windows=fail
libics:arm-uwp=fail
libics:x64-uwp=fail
@@ -785,12 +795,15 @@ libmariadb:x64-uwp = skip
libmariadb:x64-windows = skip
libmariadb:x64-windows-static = skip
libmariadb:x86-windows = skip
-libmesh:arm64-windows=fail
-libmesh:arm-uwp=fail
-libmesh:x64-uwp=fail
-libmesh:x64-windows=fail
-libmesh:x64-windows-static=fail
-libmesh:x86-windows=fail
+# libmesh installs tons of problematic files that conflict with other ports (boost, eigen, etc)
+libmesh:arm64-windows=skip
+libmesh:arm-uwp=skip
+libmesh:x64-uwp=skip
+libmesh:x64-windows=skip
+libmesh:x64-windows-static=skip
+libmesh:x86-windows=skip
+libmesh:x64-osx=skip
+libmesh:x64-linux=skip
libmicrohttpd:arm64-windows=fail
libmicrohttpd:arm-uwp=fail
libmicrohttpd:x64-linux=fail
@@ -911,7 +924,6 @@ libusb:arm-uwp=fail
libusb:x64-linux=fail
libusb:x64-osx=fail
libusb:x64-uwp=fail
-libusbmuxd:arm64-windows=fail
libusbmuxd:arm-uwp=fail
libusbmuxd:x64-uwp=fail
libusbmuxd:x64-linux=fail
@@ -1020,6 +1032,10 @@ mecab:x64-uwp = skip
mecab:x64-windows = skip
mecab:x64-windows-static = skip
mecab:x86-windows = skip
+memorymodule:arm-uwp=fail
+memorymodule:x64-linux=fail
+memorymodule:x64-osx=fail
+memorymodule:x64-uwp=fail
meschach:arm-uwp=fail
meschach:x64-linux=fail
meschach:x64-osx=fail
@@ -1053,11 +1069,18 @@ minizip:x64-uwp=fail
mlpack:x64-linux=ignore
mman:x64-linux=fail
mman:x64-osx=fail
-mmx:x64-windows=ignore
-mmx:x64-windows-static=ignore
-mmx:x86-windows=ignore
+# mmx installs many problematic headers, such as `json.h` and `sched.h`
+mmx:x64-windows=skip
+mmx:x64-windows-static=skip
+mmx:x86-windows=skip
+mmx:x64-linux=skip
+mmx:x64-osx=skip
+mmx:arm-uwp=skip
+mmx:x64-uwp=skip
+mmx:arm64-windows=skip
mongo-c-driver:arm64-windows=fail
-mongo-c-driver:x64-osx=fail
+# Flaky strange linker error
+mongo-c-driver:x64-osx=skip
mongoose:arm-uwp=fail
mongoose:x64-uwp=fail
monkeys-audio:arm64-windows=fail
@@ -1065,8 +1088,7 @@ monkeys-audio:arm-uwp=fail
monkeys-audio:x64-linux=fail
monkeys-audio:x64-osx=fail
monkeys-audio:x64-uwp=fail
-monkeys-audio:x64-windows=fail
-monkeys-audio:x86-windows=fail
+monkeys-audio:x64-windows-static=fail
moos-core:arm-uwp=fail
moos-core:x64-uwp=fail
moos-core:x64-windows=ignore
@@ -1180,6 +1202,7 @@ ogdf:x64-uwp = skip
ogdf:x64-windows = skip
ogdf:x64-windows-static = skip
ogdf:x86-windows = skip
+ogre:x64-osx=fail
# Conflicts with ogre
ogre-next:arm64-windows = skip
ogre-next:arm-uwp = skip
@@ -1196,7 +1219,6 @@ ompl:x64-osx=fail
ompl:x64-linux=ignore
open62541:arm-uwp=fail
open62541:x64-uwp=fail
-open62541:x64-osx=fail
openal-soft:arm-uwp=fail
openal-soft:x64-uwp=fail
openblas:arm64-windows=fail
@@ -1305,6 +1327,8 @@ pangomm:x64-windows=ignore
pangomm:x86-windows=ignore
parmetis:x64-linux=fail
parmetis:x64-osx=fail
+pbc:arm-uwp=fail
+pbc:x64-uwp=fail
pcre2:arm-uwp=fail
pdal:x64-linux=fail
pdal:x64-osx=fail
@@ -1497,7 +1521,6 @@ rpclib:x86-windows=ignore
rpclib:x64-windows-static=ignore
rttr:arm-uwp=fail
rttr:x64-uwp=fail
-scintilla:arm64-windows=fail
scintilla:arm-uwp=fail
scintilla:x64-linux=fail
scintilla:x64-osx=fail
@@ -1523,7 +1546,6 @@ sdformat6:x64-linux=ignore
sdl1:arm-uwp=fail
sdl1:x64-uwp=fail
sdl1:x64-osx=fail
-sdl2-gfx:arm64-windows=fail
sdl2-gfx:x64-linux=fail
sdl2-gfx:x64-osx=fail
sdl2-image:arm-uwp=fail
@@ -1532,6 +1554,8 @@ sdl2-mixer:arm-uwp=fail
sdl2-mixer:x64-uwp=fail
sdl2-net:arm-uwp=fail
sdl2-net:x64-uwp=fail
+seal:arm-uwp=fail
+seal:x64-uwp=fail
secp256k1:x64-linux=fail
secp256k1:x64-osx=fail
selene:x64-linux=ignore
@@ -1547,11 +1571,11 @@ sfgui:x64-linux=ignore
sfml:arm64-windows=fail
shapelib:arm-uwp=fail
shapelib:x64-uwp=fail
-shiva:x64-windows=fail
shiva:x64-windows-static=fail
shiva-sfml:x64-linux=fail
shiva-sfml:x64-osx=fail
shiva-sfml:x86-windows=fail
+shiva-sfml:x64-windows=fail
shogun:arm64-windows = skip
shogun:arm-uwp = skip
shogun:x64-osx=fail
@@ -1614,9 +1638,6 @@ spirv-tools:arm-uwp=fail
spirv-tools:x64-uwp=fail
stormlib:arm-uwp=fail
stormlib:x64-uwp=fail
-string-theory:arm-uwp=fail
-string-theory:x64-uwp=fail
-string-theory:x64-windows=ignore
stxxl:arm-uwp=fail
stxxl:x64-uwp=fail
systemc:arm64-windows=fail
@@ -1631,6 +1652,10 @@ tcl:arm64-windows=ignore
tcl:x64-uwp=ignore
tcl:x64-linux=ignore
tcl:x64-osx=ignore
+teemo:x64-uwp=fail
+teemo:arm-uwp=fail
+teemo:arm64-windows=fail
+teemo:x64-osx=fail
telnetpp:arm-uwp=fail
telnetpp:x64-uwp=fail
tensorflow-cc:arm64-windows=fail
@@ -1716,12 +1741,8 @@ unrar:x64-linux=fail
unrar:x64-osx=fail
unrar:x64-uwp=fail
unrar:x64-windows-static=fail
-upb:arm64-windows=fail
upb:arm-uwp=fail
upb:x64-uwp=fail
-upb:x64-windows=fail
-upb:x64-windows-static=fail
-upb:x86-windows=fail
urdfdom:x64-windows-static=fail
usd:x64-linux=ignore
usd:x86-windows=fail
diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake
index 14cf460af..724644abc 100644
--- a/scripts/cmake/vcpkg_common_definitions.cmake
+++ b/scripts/cmake/vcpkg_common_definitions.cmake
@@ -37,9 +37,12 @@ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
set(VCPKG_TARGET_IS_ANDROID 1)
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(VCPKG_TARGET_IS_FREEBSD 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW")
+ set(VCPKG_TARGET_IS_WINDOWS 1)
+ set(VCPKG_TARGET_IS_MINGW 1)
endif()
-#Helper variable to identify the host path separator.
+#Helper variable to identify the host path separator.
if(CMAKE_HOST_WIN32)
set(VCPKG_HOST_PATH_SEPARATOR ";")
elseif(CMAKE_HOST_UNIX)
@@ -61,7 +64,16 @@ else()
endif()
#Helper variables for libraries
-if(VCPKG_TARGET_IS_WINDOWS)
+if(VCPKG_TARGET_IS_MINGW)
+ set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
+ set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a")
+ set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
+ set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
+ set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
+ set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib")
+ set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
+ set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
+elseif(VCPKG_TARGET_IS_WINDOWS)
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib")
set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".lib")
set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
@@ -71,11 +83,6 @@ if(VCPKG_TARGET_IS_WINDOWS)
set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "")
set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll".
set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib".
- ## For CYGWIN and Windows GNU, maybe VCPKG will support that in the future?
- #set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a")
- #set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib")
- #set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
- #set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
elseif(VCPKG_TARGET_IS_OSX)
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX "")
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index c31955fb2..260f2471e 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -59,7 +59,7 @@
## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
function(vcpkg_configure_cmake)
- cmake_parse_arguments(_csc
+ cmake_parse_arguments(_csc
"PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE;NO_CHARSET_FLAG"
"SOURCE_PATH;GENERATOR"
"OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE"
@@ -177,13 +177,13 @@ function(vcpkg_configure_cmake)
"Invalid setting for VCPKG_LIBRARY_LINKAGE: \"${VCPKG_LIBRARY_LINKAGE}\". "
"It must be \"static\" or \"dynamic\"")
endif()
-
+
macro(check_both_vars_are_set var1 var2)
if((NOT DEFINED ${var1} OR NOT DEFINED ${var2}) AND (DEFINED ${var1} OR DEFINED ${var2}))
message(FATAL_ERROR "Both ${var1} and ${var2} must be set.")
endif()
endmacro()
-
+
check_both_vars_are_set(VCPKG_CXX_FLAGS_DEBUG VCPKG_C_FLAGS_DEBUG)
check_both_vars_are_set(VCPKG_CXX_FLAGS_RELEASE VCPKG_C_FLAGS_RELEASE)
check_both_vars_are_set(VCPKG_CXX_FLAGS VCPKG_C_FLAGS)
@@ -204,6 +204,8 @@ function(vcpkg_configure_cmake)
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW")
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/mingw.cmake")
endif()
endif()
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 4c402db48..a525dbc11 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -93,11 +93,18 @@ function(vcpkg_find_acquire_program VAR)
elseif(VAR MATCHES "PYTHON3")
if(CMAKE_HOST_WIN32)
set(PROGNAME python)
- set(SUBDIR "python-3.7.3")
+ if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
+ set(SUBDIR "python-3.7.3-x86")
+ set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip")
+ set(ARCHIVE "python-3.7.3-embed-win32.zip")
+ set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31)
+ else()
+ set(SUBDIR "python-3.7.3-x64")
+ set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-amd64.zip")
+ set(ARCHIVE "python-3.7.3-embed-amd64.zip")
+ set(HASH 4b3e0067b5e8d00b1cac5d556ab4fbd71df2a1852afb3354ee62363aabc8801aca84da09dbd26125527ae54b50488f808c1d82abf18969c23a51dcd57576885f)
+ endif()
set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR})
- set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip")
- set(ARCHIVE "python-3.7.3-embed-win32.zip")
- set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31)
set(POST_INSTALL_COMMAND ${CMAKE_COMMAND} -E remove python37._pth)
else()
set(PROGNAME python3)
@@ -107,11 +114,18 @@ function(vcpkg_find_acquire_program VAR)
elseif(VAR MATCHES "PYTHON2")
if(CMAKE_HOST_WIN32)
set(PROGNAME python)
- set(SUBDIR "python2")
+ if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
+ set(SUBDIR "python-2.7.16-x86")
+ set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi")
+ set(ARCHIVE "python-2.7.16.msi")
+ set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254)
+ else()
+ set(SUBDIR "python-2.7.16-x64")
+ set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.amd64.msi")
+ set(ARCHIVE "python-2.7.16.amd64.msi")
+ set(HASH 47c1518d1da939e3ba6722c54747778b93a44c525bcb358b253c23b2510374a49a43739c8d0454cedade858f54efa6319763ba33316fdc721305bc457efe4ffb)
+ endif()
set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR})
- set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi")
- set(ARCHIVE "python2.msi")
- set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254)
else()
set(PROGNAME python2)
set(BREW_PACKAGE_NAME "python2")
@@ -127,7 +141,10 @@ function(vcpkg_find_acquire_program VAR)
set(PROGNAME jom)
set(SUBDIR "jom-1.1.3")
set(PATHS ${DOWNLOADS}/tools/jom/${SUBDIR})
- set(URL "http://download.qt.io/official_releases/jom/jom_1_1_3.zip")
+ set(URL
+ "http://download.qt.io/official_releases/jom/jom_1_1_3.zip"
+ "http://mirrors.ocf.berkeley.edu/qt/official_releases/jom/jom_1_1_3.zip"
+ )
set(ARCHIVE "jom_1_1_3.zip")
set(HASH 5b158ead86be4eb3a6780928d9163f8562372f30bde051d8c281d81027b766119a6e9241166b91de0aa6146836cea77e5121290e62e31b7a959407840fc57b33)
elseif(VAR MATCHES "7Z")
@@ -241,9 +258,12 @@ function(vcpkg_find_acquire_program VAR)
set(HASH fe121b67b979a4e9580c7f62cfdbe0c243eba62a05b560d6d513ac7f35816d439b26d92fc2d7b7d7241c9ce2a49ea7949455a17587ef53c04a5f5125ac635727)
elseif(VAR MATCHES "DOXYGEN")
set(PROGNAME doxygen)
+ set(DOXYGEN_VERSION 1.8.17)
set(PATHS ${DOWNLOADS}/tools/doxygen)
- set(URL "http://doxygen.nl/files/doxygen-1.8.17.windows.bin.zip")
- set(ARCHIVE "doxygen-1.8.17.windows.bin.zip")
+ set(URL
+ "http://doxygen.nl/files/doxygen-${DOXYGEN_VERSION}.windows.bin.zip"
+ "https://sourceforge.net/projects/doxygen/files/rel-${DOXYGEN_VERSION}/doxygen-${DOXYGEN_VERSION}.windows.bin.zip")
+ set(ARCHIVE "doxygen-${DOXYGEN_VERSION}.windows.bin.zip")
set(HASH 6bac47ec552486783a70cc73b44cf86b4ceda12aba6b52835c2221712bd0a6c845cecec178c9ddaa88237f5a781f797add528f47e4ed017c7888eb1dd2bc0b4b)
elseif(VAR MATCHES "BAZEL")
set(PROGNAME bazel)
@@ -310,7 +330,7 @@ function(vcpkg_find_acquire_program VAR)
file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif()
else()
- get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT)
+ get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} LAST_EXT)
string(TOLOWER "${ARCHIVE_EXTENSION}" ARCHIVE_EXTENSION)
if(ARCHIVE_EXTENSION STREQUAL ".msi")
file(TO_NATIVE_PATH "${ARCHIVE_PATH}" ARCHIVE_NATIVE_PATH)
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index a042d9124..d72381be5 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -30,7 +30,6 @@ function(vcpkg_fixup_cmake_targets)
set(_vfct_TARGET_PATH share/${PORT})
endif()
-
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(EXECUTABLE_SUFFIX "\\.exe")
else()
@@ -49,7 +48,6 @@ function(vcpkg_fixup_cmake_targets)
set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH})
set(RELEASE_CONFIG ${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH})
-
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
if(NOT EXISTS ${DEBUG_CONFIG})
message(FATAL_ERROR "'${DEBUG_CONFIG}' does not exist.")
diff --git a/scripts/get_triplet_environment.cmake b/scripts/get_triplet_environment.cmake
deleted file mode 100644
index 3b0b9fbef..000000000
--- a/scripts/get_triplet_environment.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-include(${CMAKE_TRIPLET_FILE})
-if (DEFINED VCPKG_ENV_OVERRIDES_FILE)
- include(${VCPKG_ENV_OVERRIDES_FILE})
-endif()
-
-# GUID used as a flag - "cut here line"
-message("c35112b6-d1ba-415b-aa5d-81de856ef8eb")
-message("VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}")
-message("VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}")
-message("VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}")
-message("VCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}")
-message("VCPKG_VISUAL_STUDIO_PATH=${VCPKG_VISUAL_STUDIO_PATH}")
-message("VCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}")
-message("VCPKG_BUILD_TYPE=${VCPKG_BUILD_TYPE}")
-message("VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH}")
-message("VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE}")
diff --git a/scripts/ports.cmake b/scripts/ports.cmake
index 1aea1ffa3..20e59a184 100644
--- a/scripts/ports.cmake
+++ b/scripts/ports.cmake
@@ -78,13 +78,9 @@ if(CMD MATCHES "^BUILD$")
include(${CMAKE_TRIPLET_FILE})
- if (DEFINED VCPKG_ENV_OVERRIDES_FILE)
- include(${VCPKG_ENV_OVERRIDES_FILE})
- endif()
-
- if (DEFINED VCPKG_PORT_TOOLCHAINS)
- foreach(VCPKG_PORT_TOOLCHAIN ${VCPKG_PORT_TOOLCHAINS})
- include(${VCPKG_PORT_TOOLCHAIN})
+ if (DEFINED VCPKG_PORT_CONFIGS)
+ foreach(VCPKG_PORT_CONFIG ${VCPKG_PORT_CONFIGS})
+ include(${VCPKG_PORT_CONFIG})
endforeach()
endif()
@@ -115,6 +111,9 @@ if(CMD MATCHES "^BUILD$")
if (DEFINED VCPKG_POLICY_EMPTY_INCLUDE_FOLDER)
file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyEmptyIncludeFolder: ${VCPKG_POLICY_EMPTY_INCLUDE_FOLDER}\n")
endif()
+ if (DEFINED VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS)
+ file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyAllowRestrictedHeaders: ${VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS}\n")
+ endif()
if (DEFINED VCPKG_HEAD_VERSION)
file(APPEND ${BUILD_INFO_FILE_PATH} "Version: ${VCPKG_HEAD_VERSION}\n")
endif()
diff --git a/scripts/templates/portfile.in.cmake b/scripts/templates/portfile.in.cmake
index 62c53a6db..7ddf662e8 100644
--- a/scripts/templates/portfile.in.cmake
+++ b/scripts/templates/portfile.in.cmake
@@ -22,11 +22,12 @@
# VCPKG_TARGET_IS_OSX
# VCPKG_TARGET_IS_FREEBSD
# VCPKG_TARGET_IS_ANDROID
+# VCPKG_TARGET_IS_MINGW
# VCPKG_TARGET_EXECUTABLE_SUFFIX
# VCPKG_TARGET_STATIC_LIBRARY_SUFFIX
# VCPKG_TARGET_SHARED_LIBRARY_SUFFIX
#
-# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md
+# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md
# # Specifies if the port install should fail immediately given a condition
# vcpkg_fail_port_install(MESSAGE "@PORT@ currently only supports Linux and Mac platforms" ON_TARGET "Windows")
@@ -39,10 +40,10 @@ vcpkg_download_distfile(ARCHIVE
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ ARCHIVE ${ARCHIVE}
# (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag).
# REF 1.0.0
- # (Optional) Read the docs for how to generate patches at:
+ # (Optional) Read the docs for how to generate patches at:
# https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md
# PATCHES
# 001_port_fixes.patch
diff --git a/scripts/toolchains/mingw.cmake b/scripts/toolchains/mingw.cmake
new file mode 100644
index 000000000..def98799f
--- /dev/null
+++ b/scripts/toolchains/mingw.cmake
@@ -0,0 +1,40 @@
+if(NOT _VCPKG_MINGW_TOOLCHAIN)
+set(_VCPKG_MINGW_TOOLCHAIN 1)
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+ set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
+endif()
+
+# Need to override MinGW from VCPKG_CMAKE_SYSTEM_NAME
+set(CMAKE_SYSTEM_NAME Windows CACHE STRING "" FORCE)
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(CMAKE_SYSTEM_PROCESSOR i686 CACHE STRING "")
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "")
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(CMAKE_SYSTEM_PROCESSOR armv7 CACHE STRING "")
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "")
+endif()
+
+foreach(lang C CXX)
+ set(CMAKE_${lang}_COMPILER_TARGET "${CMAKE_SYSTEM_PROCESSOR}-windows-gnu" CACHE STRING "")
+endforeach()
+
+get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
+if(NOT _CMAKE_IN_TRY_COMPILE)
+ string(APPEND CMAKE_C_FLAGS_INIT " ${VCPKG_C_FLAGS} ")
+ string(APPEND CMAKE_CXX_FLAGS_INIT " ${VCPKG_CXX_FLAGS} ")
+ string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ")
+ string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ")
+ string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ")
+ string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ")
+
+ string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
+ if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT "-static ")
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-static ")
+ endif()
+endif()
+endif()
diff --git a/scripts/vcpkg_get_dep_info.cmake b/scripts/vcpkg_get_dep_info.cmake
new file mode 100644
index 000000000..92212b82d
--- /dev/null
+++ b/scripts/vcpkg_get_dep_info.cmake
@@ -0,0 +1,19 @@
+function(vcpkg_get_dep_info PORT VCPKG_TRIPLET_ID)
+ message("d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af")
+ vcpkg_triplet_file(${VCPKG_TRIPLET_ID})
+
+ # GUID used as a flag - "cut here line"
+ message("c35112b6-d1ba-415b-aa5d-81de856ef8eb
+VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}
+VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
+VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
+VCPKG_LIBRARY_LINKAGE=${VCPKG_LIBRARY_LINKAGE}
+VCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}
+VCPKG_DEP_INFO_OVERRIDE_VARS=${VCPKG_DEP_INFO_OVERRIDE_VARS}
+CMAKE_HOST_SYSTEM_NAME=${CMAKE_HOST_SYSTEM_NAME}
+CMAKE_HOST_SYSTEM_PROCESSOR=${CMAKE_HOST_SYSTEM_PROCESSOR}
+CMAKE_HOST_SYSTEM_VERSION=${CMAKE_HOST_SYSTEM_VERSION}
+CMAKE_HOST_SYSTEM=${CMAKE_HOST_SYSTEM}
+e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f
+8c504940-be29-4cba-9f8f-6cd83e9d87b7")
+endfunction()
diff --git a/scripts/vcpkg_get_tags.cmake b/scripts/vcpkg_get_tags.cmake
new file mode 100644
index 000000000..ccdc4fea6
--- /dev/null
+++ b/scripts/vcpkg_get_tags.cmake
@@ -0,0 +1,28 @@
+function(vcpkg_get_tags PORT FEATURES VCPKG_TRIPLET_ID VCPKG_ABI_SETTINGS_FILE)
+ message("d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af")
+ vcpkg_triplet_file(${VCPKG_TRIPLET_ID})
+
+ # GUID used as a flag - "cut here line"
+ message("c35112b6-d1ba-415b-aa5d-81de856ef8eb
+VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}
+VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
+VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
+VCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}
+VCPKG_VISUAL_STUDIO_PATH=${VCPKG_VISUAL_STUDIO_PATH}
+VCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}
+VCPKG_BUILD_TYPE=${VCPKG_BUILD_TYPE}
+e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f")
+
+ # Just to enforce the user didn't set it in the triplet file
+ if (DEFINED VCPKG_PUBLIC_ABI_OVERRIDE)
+ set(VCPKG_PUBLIC_ABI_OVERRIDE)
+ message(WARNING "VCPKG_PUBLIC_ABI_OVERRIDE set in the triplet will be ignored.")
+ endif()
+ include("${VCPKG_ABI_SETTINGS_FILE}" OPTIONAL)
+
+ message("c35112b6-d1ba-415b-aa5d-81de856ef8eb
+VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE}
+VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH}
+e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f
+8c504940-be29-4cba-9f8f-6cd83e9d87b7")
+endfunction()