aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/bootstrap.ps114
-rw-r--r--scripts/bootstrap.sh25
-rw-r--r--scripts/buildsystems/osx/applocal.py420
-rw-r--r--scripts/buildsystems/vcpkg.cmake56
-rw-r--r--scripts/cmake/vcpkg_build_cmake.cmake6
-rw-r--r--scripts/cmake/vcpkg_build_qmake.cmake100
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake2
-rw-r--r--scripts/cmake/vcpkg_configure_qmake.cmake46
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake27
-rw-r--r--scripts/vcpkgTools.xml8
10 files changed, 596 insertions, 108 deletions
diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1
index 07a9fcbaa..b195cc605 100644
--- a/scripts/bootstrap.ps1
+++ b/scripts/bootstrap.ps1
@@ -339,10 +339,9 @@ if ($disableMetrics)
$platform = "x86"
$vcpkgReleaseDir = "$vcpkgSourcesPath\msbuild.x86.release"
-
+$architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture
if ($win64)
{
- $architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture
if (-not $architecture -like "*64*")
{
throw "Cannot build 64-bit on non-64-bit system"
@@ -352,6 +351,15 @@ if ($win64)
$vcpkgReleaseDir = "$vcpkgSourcesPath\msbuild.x64.release"
}
+if ($architecture -like "*64*")
+{
+ $PreferredToolArchitecture = "x64"
+}
+else
+{
+ $PreferredToolArchitecture = "x86"
+}
+
$arguments = (
"`"/p:VCPKG_VERSION=-nohash`"",
"`"/p:DISABLE_METRICS=$disableMetricsValue`"",
@@ -359,7 +367,7 @@ $arguments = (
"/p:Platform=$platform",
"/p:PlatformToolset=$platformToolset",
"/p:TargetPlatformVersion=$windowsSDK",
-"/p:PreferredToolArchitecture=x64",
+"/p:PreferredToolArchitecture=$PreferredToolArchitecture",
"/verbosity:minimal",
"/m",
"/nologo",
diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh
index f0bfb9839..00d31760a 100644
--- a/scripts/bootstrap.sh
+++ b/scripts/bootstrap.sh
@@ -1,5 +1,20 @@
#!/bin/sh
+# Find .vcpkg-root, which indicates the root of this repo
+vcpkgRootDir=$(X= cd -- "$(dirname -- "$0")" && pwd -P)
+while [ "$vcpkgRootDir" != "/" ] && ! [ -e "$vcpkgRootDir/.vcpkg-root" ]; do
+ vcpkgRootDir="$(dirname "$vcpkgRootDir")"
+done
+
+# Enable using this entry point on windows from git bash by redirecting to the .bat file.
+unixName=$(uname -s | sed 's/MINGW.*_NT.*/MINGW_NT/')
+if [ "$unixName" = "MINGW_NT" ]; then
+ vcpkgRootDir=$(cygpath -aw "$vcpkgRootDir")
+ cmd "/C $vcpkgRootDir\\bootstrap-vcpkg.bat" || exit 1
+ exit 0
+fi
+
+# Argument parsing
vcpkgDisableMetrics="OFF"
vcpkgUseSystem=false
vcpkgAllowAppleClang=OFF
@@ -26,12 +41,6 @@ do
fi
done
-# Find vcpkg-root
-vcpkgRootDir=$(X= cd -- "$(dirname -- "$0")" && pwd -P)
-while [ "$vcpkgRootDir" != "/" ] && ! [ -e "$vcpkgRootDir/.vcpkg-root" ]; do
- vcpkgRootDir="$(dirname "$vcpkgRootDir")"
-done
-
if [ -z ${VCPKG_DOWNLOADS+x} ]; then
downloadsDir="$vcpkgRootDir/downloads"
else
@@ -194,7 +203,9 @@ selectCXX()
if [ "x$CXX" = "x" ]; then
CXX=g++
- if which g++-8 >/dev/null 2>&1; then
+ if which g++-9 >/dev/null 2>&1; then
+ CXX=g++-9
+ elif which g++-8 >/dev/null 2>&1; then
CXX=g++-8
elif which g++-7 >/dev/null 2>&1; then
CXX=g++-7
diff --git a/scripts/buildsystems/osx/applocal.py b/scripts/buildsystems/osx/applocal.py
new file mode 100644
index 000000000..b3f8f138e
--- /dev/null
+++ b/scripts/buildsystems/osx/applocal.py
@@ -0,0 +1,420 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+"""
+finish the job started by macdeployqtfix
+from: https://github.com/arl/macdeployqtfix
+
+The MIT License (MIT)
+
+Copyright (c) 2015 Aurelien Rainone
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+"""
+
+from subprocess import Popen, PIPE
+from string import Template
+import os
+import sys
+import logging
+import argparse
+import re
+from collections import namedtuple
+
+
+QTLIB_NAME_REGEX = r'^(?:@executable_path)?/.*/(Qt[a-zA-Z]*).framework/(?:Versions/\d/)?\1$'
+QTLIB_NORMALIZED = r'$prefix/Frameworks/$qtlib.framework/Versions/$qtversion/$qtlib'
+
+QTPLUGIN_NAME_REGEX = r'^(?:@executable_path)?/.*/[pP]lug[iI]ns/(.*)/(.*).dylib$'
+QTPLUGIN_NORMALIZED = r'$prefix/PlugIns/$plugintype/$pluginname.dylib'
+
+LOADERPATH_REGEX = r'^@[a-z_]+path/(.*)'
+LOADERPATH_NORMALIZED = r'$prefix/Frameworks/$loaderpathlib'
+
+
+class GlobalConfig(object):
+ logger = None
+ qtpath = None
+ exepath = None
+
+
+def run_and_get_output(popen_args):
+ """Run process and get all output"""
+ process_output = namedtuple('ProcessOutput', ['stdout', 'stderr', 'retcode'])
+ try:
+ GlobalConfig.logger.debug('run_and_get_output({0})'.format(repr(popen_args)))
+
+ proc = Popen(popen_args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ stdout, stderr = proc.communicate(b'')
+ proc_out = process_output(stdout, stderr, proc.returncode)
+
+ GlobalConfig.logger.debug('\tprocess_output: {0}'.format(proc_out))
+ return proc_out
+ except Exception as exc:
+ GlobalConfig.logger.error('\texception: {0}'.format(exc))
+ return process_output('', exc.message, -1)
+
+
+def get_dependencies(filename):
+ """
+ input: filename must be an absolute path
+ Should call `otool` and returns the list of dependencies, unsorted,
+ unmodified, just the raw list so then we could eventually re-use in other
+ more specialized functions
+ """
+ GlobalConfig.logger.debug('get_dependencies({0})'.format(filename))
+ popen_args = ['otool', '-L', filename]
+ proc_out = run_and_get_output(popen_args)
+ deps = []
+ if proc_out.retcode == 0:
+ # some string splitting
+ deps = [s.strip().split(' ')[0] for s in proc_out.stdout.splitlines()[1:] if s]
+ # prevent infinite recursion when a binary depends on itself (seen with QtWidgets)...
+ deps = [s for s in deps if os.path.basename(filename) not in s]
+ return deps
+
+
+def is_qt_plugin(filename):
+ """
+ Checks if a given file is a qt plugin.
+ Accepts absolute path as well as path containing @executable_path
+ """
+ qtlib_name_rgx = re.compile(QTPLUGIN_NAME_REGEX)
+ return qtlib_name_rgx.match(filename) is not None
+
+
+def is_qt_lib(filename):
+ """
+ Checks if a given file is a qt library.
+ Accepts absolute path as well as path containing @executable_path
+ """
+ qtlib_name_rgx = re.compile(QTLIB_NAME_REGEX)
+ return qtlib_name_rgx.match(filename) is not None
+
+
+def is_loader_path_lib(filename):
+ """
+ Checks if a given file is loaded via @loader_path or @rpath
+ """
+ qtlib_name_rgx = re.compile(LOADERPATH_REGEX)
+ return qtlib_name_rgx.match(filename) is not None
+
+
+def normalize_qtplugin_name(filename):
+ """
+ input: a path to a qt plugin, as returned by otool, that can have this form :
+ - an absolute path /../plugins/PLUGINTYPE/PLUGINNAME.dylib
+ - @executable_path/../plugins/PLUGINTYPE/PLUGINNAME.dylib
+ output:
+ a tuple (qtlib, abspath, rpath) where:
+ - qtname is the name of the plugin (libqcocoa.dylib, etc.)
+ - abspath is the absolute path of the qt lib inside the app bundle of exepath
+ - relpath is the correct rpath to a qt lib inside the app bundle
+ """
+
+ GlobalConfig.logger.debug('normalize_plugin_name({0})'.format(filename))
+
+ qtplugin_name_rgx = re.compile(QTPLUGIN_NAME_REGEX)
+ rgxret = qtplugin_name_rgx.match(filename)
+ if not rgxret:
+ msg = 'couldn\'t normalize a non-qt plugin filename: {0}'.format(filename)
+ GlobalConfig.logger.critical(msg)
+ raise Exception(msg)
+
+ # qtplugin normalization settings
+ qtplugintype = rgxret.groups()[0]
+ qtpluginname = rgxret.groups()[1]
+
+ templ = Template(QTPLUGIN_NORMALIZED)
+
+ # from qtlib, forge 2 path :
+ # - absolute path of qt lib in bundle,
+ abspath = os.path.normpath(templ.safe_substitute(
+ prefix=os.path.dirname(GlobalConfig.exepath) + '/..',
+ plugintype=qtplugintype,
+ pluginname=qtpluginname))
+
+ # - and rpath containing @executable_path, relative to exepath
+ rpath = templ.safe_substitute(
+ prefix='@executable_path/..',
+ plugintype=qtplugintype,
+ pluginname=qtpluginname)
+
+ GlobalConfig.logger.debug('\treturns({0})'.format((qtpluginname, abspath, rpath)))
+ return qtpluginname, abspath, rpath
+
+
+def normalize_qtlib_name(filename):
+ """
+ input: a path to a qt library, as returned by otool, that can have this form :
+ - an absolute path /lib/xxx/yyy
+ - @executable_path/../Frameworks/QtSerialPort.framework/Versions/5/QtSerialPort
+ output:
+ a tuple (qtlib, abspath, rpath) where:
+ - qtlib is the name of the qtlib (QtCore, QtWidgets, etc.)
+ - abspath is the absolute path of the qt lib inside the app bundle of exepath
+ - relpath is the correct rpath to a qt lib inside the app bundle
+ """
+ GlobalConfig.logger.debug('normalize_qtlib_name({0})'.format(filename))
+
+ qtlib_name_rgx = re.compile(QTLIB_NAME_REGEX)
+ rgxret = qtlib_name_rgx.match(filename)
+ if not rgxret:
+ msg = 'couldn\'t normalize a non-qt lib filename: {0}'.format(filename)
+ GlobalConfig.logger.critical(msg)
+ raise Exception(msg)
+
+ # qtlib normalization settings
+ qtlib = rgxret.groups()[0]
+ qtversion = 5
+
+ templ = Template(QTLIB_NORMALIZED)
+
+ # from qtlib, forge 2 path :
+ # - absolute path of qt lib in bundle,
+ abspath = os.path.normpath(templ.safe_substitute(
+ prefix=os.path.dirname(GlobalConfig.exepath) + '/..',
+ qtlib=qtlib,
+ qtversion=qtversion))
+
+ # - and rpath containing @executable_path, relative to exepath
+ rpath = templ.safe_substitute(
+ prefix='@executable_path/..',
+ qtlib=qtlib,
+ qtversion=qtversion)
+
+ GlobalConfig.logger.debug('\treturns({0})'.format((qtlib, abspath, rpath)))
+ return qtlib, abspath, rpath
+
+
+def normalize_loaderpath_name(filename):
+ """
+ input: a path to a loaderpath library, as returned by otool, that can have this form :
+ - an relative path @loaderpath/yyy
+ output:
+ a tuple (loaderpathlib, abspath, rpath) where:
+ - loaderpathlib is the name of the loaderpath lib
+ - abspath is the absolute path of the qt lib inside the app bundle of exepath
+ - relpath is the correct rpath to a qt lib inside the app bundle
+ """
+ GlobalConfig.logger.debug('normalize_loaderpath_name({0})'.format(filename))
+
+ loaderpath_name_rgx = re.compile(LOADERPATH_REGEX)
+ rgxret = loaderpath_name_rgx.match(filename)
+ if not rgxret:
+ msg = 'couldn\'t normalize a loaderpath lib filename: {0}'.format(filename)
+ GlobalConfig.logger.critical(msg)
+ raise Exception(msg)
+
+ # loaderpath normalization settings
+ loaderpathlib = rgxret.groups()[0]
+ templ = Template(LOADERPATH_NORMALIZED)
+
+ # from loaderpath, forge 2 path :
+ # - absolute path of qt lib in bundle,
+ abspath = os.path.normpath(templ.safe_substitute(
+ prefix=os.path.dirname(GlobalConfig.exepath) + '/..',
+ loaderpathlib=loaderpathlib))
+
+ # - and rpath containing @executable_path, relative to exepath
+ rpath = templ.safe_substitute(
+ prefix='@executable_path/..',
+ loaderpathlib=loaderpathlib)
+
+ GlobalConfig.logger.debug('\treturns({0})'.format((loaderpathlib, abspath, rpath)))
+ return loaderpathlib, abspath, rpath
+
+
+def fix_dependency(binary, dep):
+ """
+ fix 'dep' dependency of 'binary'. 'dep' is a qt library
+ """
+ if is_qt_lib(dep):
+ qtname, dep_abspath, dep_rpath = normalize_qtlib_name(dep)
+ qtnamesrc = os.path.join(GlobalConfig.qtpath, 'lib', '{0}.framework'.
+ format(qtname), qtname)
+ elif is_qt_plugin(dep):
+ qtname, dep_abspath, dep_rpath = normalize_qtplugin_name(dep)
+ qtnamesrc = os.path.join(GlobalConfig.qtpath, 'lib', '{0}.framework'.
+ format(qtname), qtname)
+ elif is_loader_path_lib(dep):
+ qtname, dep_abspath, dep_rpath = normalize_loaderpath_name(dep)
+ qtnamesrc = os.path.join(GlobalConfig.qtpath + '/lib', qtname)
+ else:
+ return True
+
+ dep_ok = True
+ # check that rpath of 'dep' inside binary has been correctly set
+ # (ie: relative to exepath using '@executable_path' syntax)
+ if dep != dep_rpath:
+ # dep rpath is not ok
+ GlobalConfig.logger.info('changing rpath \'{0}\' in binary {1}'.format(dep, binary))
+
+ # call install_name_tool -change on binary
+ popen_args = ['install_name_tool', '-change', dep, dep_rpath, binary]
+ proc_out = run_and_get_output(popen_args)
+ if proc_out.retcode != 0:
+ GlobalConfig.logger.error(proc_out.stderr)
+ dep_ok = False
+ else:
+ # call install_name_tool -id on binary
+ popen_args = ['install_name_tool', '-id', dep_rpath, binary]
+ proc_out = run_and_get_output(popen_args)
+ if proc_out.retcode != 0:
+ GlobalConfig.logger.error(proc_out.stderr)
+ dep_ok = False
+
+ # now ensure that 'dep' exists at the specified path, relative to bundle
+ if dep_ok and not os.path.exists(dep_abspath):
+
+ # ensure destination directory exists
+ GlobalConfig.logger.info('ensuring directory \'{0}\' exists: {0}'.
+ format(os.path.dirname(dep_abspath)))
+ popen_args = ['mkdir', '-p', os.path.dirname(dep_abspath)]
+ proc_out = run_and_get_output(popen_args)
+ if proc_out.retcode != 0:
+ GlobalConfig.logger.info(proc_out.stderr)
+ dep_ok = False
+ else:
+ # copy missing dependency into bundle
+ GlobalConfig.logger.info('copying missing dependency in bundle: {0}'.
+ format(qtname))
+ popen_args = ['cp', qtnamesrc, dep_abspath]
+ proc_out = run_and_get_output(popen_args)
+ if proc_out.retcode != 0:
+ GlobalConfig.logger.info(proc_out.stderr)
+ dep_ok = False
+ else:
+ # ensure permissions are correct if we ever have to change its rpath
+ GlobalConfig.logger.info('ensuring 755 perm to {0}'.format(dep_abspath))
+ popen_args = ['chmod', '755', dep_abspath]
+ proc_out = run_and_get_output(popen_args)
+ if proc_out.retcode != 0:
+ GlobalConfig.logger.info(proc_out.stderr)
+ dep_ok = False
+ else:
+ GlobalConfig.logger.debug('{0} is at correct location in bundle'.format(qtname))
+
+ if dep_ok:
+ return fix_binary(dep_abspath)
+ return False
+
+
+def fix_binary(binary):
+ """
+ input:
+ binary: relative or absolute path (no @executable_path syntax)
+ process:
+ - first fix the rpath for the qt libs on which 'binary' depend
+ - copy into the bundle of exepath the eventual libraries that are missing
+ - (create the soft links) needed ?
+ - do the same for all qt dependencies of binary (recursive)
+ """
+ GlobalConfig.logger.debug('fix_binary({0})'.format(binary))
+
+ # loop on 'binary' dependencies
+ for dep in get_dependencies(binary):
+ if not fix_dependency(binary, dep):
+ GlobalConfig.logger.error('quitting early: couldn\'t fix dependency {0} of {1}'.format(dep, binary))
+ return False
+ return True
+
+
+def fix_main_binaries():
+ """
+ list the main binaries of the app bundle and fix them
+ """
+ # deduce bundle path
+ bundlepath = os.path.sep.join(GlobalConfig.exepath.split(os.path.sep)[0:-3])
+
+ # fix main binary
+ GlobalConfig.logger.info('fixing executable \'{0}\''.format(GlobalConfig.exepath))
+ if fix_binary(GlobalConfig.exepath):
+ GlobalConfig.logger.info('fixing plugins')
+ for root, dummy, files in os.walk(bundlepath):
+ for name in [f for f in files if os.path.splitext(f)[1] == '.dylib']:
+ GlobalConfig.logger.info('fixing plugin {0}'.format(name))
+ if not fix_binary(os.path.join(root, name)):
+ return False
+ return True
+
+
+def main():
+ descr = """finish the job started by macdeployqt!
+ - find dependencies/rpaths with otool
+ - copy missed dependencies with cp and mkdir
+ - fix missed rpaths with install_name_tool
+
+ exit codes:
+ - 0 : success
+ - 1 : error
+ """
+
+ parser = argparse.ArgumentParser(description=descr,
+ formatter_class=argparse.RawTextHelpFormatter)
+ parser.add_argument('exepath',
+ help='path to the binary depending on Qt')
+ parser.add_argument('qtpath',
+ help='path of Qt libraries used to build the Qt application')
+ parser.add_argument('-q', '--quiet', action='store_true', default=False,
+ help='do not create log on standard output')
+ parser.add_argument('-nl', '--no-log-file', action='store_true', default=False,
+ help='do not create log file \'./macdeployqtfix.log\'')
+ parser.add_argument('-v', '--verbose', action='store_true', default=False,
+ help='produce more log messages(debug log)')
+ args = parser.parse_args()
+
+ # globals
+ GlobalConfig.qtpath = os.path.normpath(args.qtpath)
+ GlobalConfig.exepath = args.exepath
+ GlobalConfig.logger = logging.getLogger()
+
+ # configure logging
+ ###################
+
+ # create formatter
+ formatter = logging.Formatter('%(levelname)s | %(message)s')
+ # create console GlobalConfig.logger
+ if not args.quiet:
+ chdlr = logging.StreamHandler(sys.stdout)
+ chdlr.setFormatter(formatter)
+ GlobalConfig.logger.addHandler(chdlr)
+
+ # create file GlobalConfig.logger
+ if not args.no_log_file:
+ fhdlr = logging.FileHandler('./macdeployqtfix.log', mode='w')
+ fhdlr.setFormatter(formatter)
+ GlobalConfig.logger.addHandler(fhdlr)
+
+ if args.no_log_file and args.quiet:
+ GlobalConfig.logger.addHandler(logging.NullHandler())
+ else:
+ GlobalConfig.logger.setLevel(logging.DEBUG if args.verbose else logging.INFO)
+
+ if fix_main_binaries():
+ GlobalConfig.logger.info('macdeployqtfix terminated with success')
+ ret = 0
+ else:
+ GlobalConfig.logger.error('macdeployqtfix terminated with error')
+ ret = 1
+ sys.exit(ret)
+
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index 1a6345563..b83fcb1ca 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -37,14 +37,18 @@ else()
set(_VCPKG_TARGET_TRIPLET_ARCH arm)
elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$")
set(_VCPKG_TARGET_TRIPLET_ARCH x86)
- elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 Win64$")
- set(_VCPKG_TARGET_TRIPLET_ARCH x64)
- elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 Win32$")
- set(_VCPKG_TARGET_TRIPLET_ARCH x86)
- elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 ARM$")
- set(_VCPKG_TARGET_TRIPLET_ARCH arm)
elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$")
- set(_VCPKG_TARGET_TRIPLET_ARCH x64)
+ if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Xx]86$")
+ set(_VCPKG_TARGET_TRIPLET_ARCH x86)
+ elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Aa][Mm][Dd]64$")
+ set(_VCPKG_TARGET_TRIPLET_ARCH x64)
+ elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Aa][Rr][Mm]$")
+ set(_VCPKG_TARGET_TRIPLET_ARCH arm)
+ elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Aa][Rr][Mm]64$")
+ set(_VCPKG_TARGET_TRIPLET_ARCH arm64)
+ else()
+
+ endif()
else()
find_program(_VCPKG_CL cl)
if(_VCPKG_CL MATCHES "amd64/cl.exe$" OR _VCPKG_CL MATCHES "x64/cl.exe$")
@@ -103,7 +107,11 @@ if(NOT EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" AND NOT _CMAKE_I
message(WARNING "There are no libraries installed for the Vcpkg triplet ${VCPKG_TARGET_TRIPLET}.")
endif()
+<<<<<<< HEAD
if(CMAKE_BUILD_TYPE MATCHES "^Debug$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths.
+=======
+if(CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths.
+>>>>>>> upstream/master
list(APPEND CMAKE_PREFIX_PATH
${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}
)
@@ -126,6 +134,8 @@ else() #Release build: Put Release paths before Debug paths. Debug Paths are req
endif()
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
+set(_PROGRAMFILESX86 "PROGRAMFILES(x86)")
+file(TO_CMAKE_PATH "$ENV{${_PROGRAMFILESX86}}" _programfiles_x86)
set(CMAKE_SYSTEM_IGNORE_PATH
"${_programfiles}/OpenSSL"
"${_programfiles}/OpenSSL-Win32"
@@ -134,6 +144,13 @@ set(CMAKE_SYSTEM_IGNORE_PATH
"${_programfiles}/OpenSSL-Win64/lib/VC"
"${_programfiles}/OpenSSL-Win32/lib/VC/static"
"${_programfiles}/OpenSSL-Win64/lib/VC/static"
+ "${_programfiles_x86}/OpenSSL"
+ "${_programfiles_x86}/OpenSSL-Win32"
+ "${_programfiles_x86}/OpenSSL-Win64"
+ "${_programfiles_x86}/OpenSSL-Win32/lib/VC"
+ "${_programfiles_x86}/OpenSSL-Win64/lib/VC"
+ "${_programfiles_x86}/OpenSSL-Win32/lib/VC/static"
+ "${_programfiles_x86}/OpenSSL-Win64/lib/VC/static"
"C:/OpenSSL/"
"C:/OpenSSL-Win32/"
"C:/OpenSSL-Win64/"
@@ -156,14 +173,25 @@ function(add_executable name)
_add_executable(${ARGV})
list(FIND ARGV "IMPORTED" IMPORTED_IDX)
list(FIND ARGV "ALIAS" ALIAS_IDX)
+ list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX)
if(IMPORTED_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1)
- if(VCPKG_APPLOCAL_DEPS AND _VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
- add_custom_command(TARGET ${name} POST_BUILD
- COMMAND powershell -noprofile -executionpolicy Bypass -file ${_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1
- -targetBinary $<TARGET_FILE:${name}>
- -installedDir "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$<CONFIG:Debug>:/debug>/bin"
- -OutVariable out
- )
+ if(VCPKG_APPLOCAL_DEPS)
+ if(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
+ add_custom_command(TARGET ${name} POST_BUILD
+ COMMAND powershell -noprofile -executionpolicy Bypass -file ${_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1
+ -targetBinary $<TARGET_FILE:${name}>
+ -installedDir "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$<CONFIG:Debug>:/debug>/bin"
+ -OutVariable out
+ )
+ elseif(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "osx")
+ if (NOT MACOSX_BUNDLE_IDX EQUAL -1)
+ add_custom_command(TARGET ${name} POST_BUILD
+ COMMAND python ${_VCPKG_TOOLCHAIN_DIR}/osx/applocal.py
+ $<TARGET_FILE:${name}>
+ "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$<CONFIG:Debug>:/debug>"
+ )
+ endif()
+ endif()
endif()
set_target_properties(${name} PROPERTIES VS_USER_PROPS do_not_import_user.props)
set_target_properties(${name} PROPERTIES VS_GLOBAL_VcpkgEnabled false)
diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake
index e86632c7e..3db6597b4 100644
--- a/scripts/cmake/vcpkg_build_cmake.cmake
+++ b/scripts/cmake/vcpkg_build_cmake.cmake
@@ -162,14 +162,14 @@ function(vcpkg_build_cmake)
endif()
endwhile()
endif()
- elseif(out_contents MATCHES "mt : general error c101008d: ")
+ elseif(out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ")
# Antivirus workaround - occasionally files are locked and cause mt.exe to fail
set(ITERATION 0)
- while (ITERATION LESS 3 AND out_contents MATCHES "mt : general error c101008d: ")
+ while (ITERATION LESS 3 AND (out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: "))
MATH(EXPR ITERATION "${ITERATION}+1")
message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}")
execute_process(
- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS}
+ COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}
OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log"
ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log"
RESULT_VARIABLE error_code
diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake
index 5b686527d..80a0aef0d 100644
--- a/scripts/cmake/vcpkg_build_qmake.cmake
+++ b/scripts/cmake/vcpkg_build_qmake.cmake
@@ -21,13 +21,21 @@ function(vcpkg_build_qmake)
# Make sure that the linker finds the libraries used
set(ENV_PATH_BACKUP "$ENV{PATH}")
- set(DEBUG_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- set(RELEASE_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ set(DEBUG_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ set(RELEASE_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ endif()
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
- list(APPEND _csc_RELEASE_TARGETS ${_csc_TARGETS})
- list(APPEND _csc_DEBUG_TARGETS ${_csc_TARGETS})
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ list(APPEND _csc_RELEASE_TARGETS ${_csc_TARGETS})
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ list(APPEND _csc_DEBUG_TARGETS ${_csc_TARGETS})
+ endif()
if(NOT _csc_BUILD_LOGNAME)
set(_csc_BUILD_LOGNAME build)
@@ -47,49 +55,53 @@ function(vcpkg_build_qmake)
set(ENV{_CL_} "/utf-8")
#First generate the makefiles so we can modify them
- set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}")
- if(NOT _csc_SKIP_MAKEFILES)
- run_jom(qmake_all makefiles dbg)
-
- #Store debug makefiles path
- file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
-
- foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
- file(READ "${DEBUG_MAKEFILE}" _contents)
- string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
- string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
- string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib shell32.lib" _contents "${_contents}")
- string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}")
- string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}")
- string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}")
- file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
- endforeach()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}")
+ if(NOT _csc_SKIP_MAKEFILES)
+ run_jom(qmake_all makefiles dbg)
+
+ #Store debug makefiles path
+ file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
+
+ foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
+ file(READ "${DEBUG_MAKEFILE}" _contents)
+ string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
+ string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
+ string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib shell32.lib" _contents "${_contents}")
+ string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}")
+ string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}")
+ string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
+ string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
+ string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}")
+ file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
+ endforeach()
+ endif()
+
+ run_jom("${_csc_DEBUG_TARGETS}" ${_csc_BUILD_LOGNAME} dbg)
endif()
- run_jom("${_csc_DEBUG_TARGETS}" ${_csc_BUILD_LOGNAME} dbg)
-
- set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}")
- if(NOT _csc_SKIP_MAKEFILES)
- run_jom(qmake_all makefiles rel)
-
- #Store release makefile path
- file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
-
- foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
- file(READ "${RELEASE_MAKEFILE}" _contents)
- string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib shell32.lib" _contents "${_contents}")
- string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}")
- string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}")
- string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}")
- file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
- endforeach()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}")
+ if(NOT _csc_SKIP_MAKEFILES)
+ run_jom(qmake_all makefiles rel)
+
+ #Store release makefile path
+ file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
+
+ foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
+ file(READ "${RELEASE_MAKEFILE}" _contents)
+ string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib shell32.lib" _contents "${_contents}")
+ string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}")
+ string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}")
+ string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
+ string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
+ string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}")
+ file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
+ endforeach()
+ endif()
+
+ run_jom("${_csc_RELEASE_TARGETS}" ${_csc_BUILD_LOGNAME} rel)
endif()
-
- run_jom("${_csc_RELEASE_TARGETS}" ${_csc_BUILD_LOGNAME} rel)
# Restore the original value of ENV{PATH}
set(ENV{PATH} "${ENV_PATH_BACKUP}")
diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake
index 3c6903c9d..f1ae0e65f 100644
--- a/scripts/cmake/vcpkg_configure_meson.cmake
+++ b/scripts/cmake/vcpkg_configure_meson.cmake
@@ -26,7 +26,7 @@ function(vcpkg_configure_meson)
set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF")
# select meson cmd-line options
- list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja)
+ list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
list(APPEND _vcm_OPTIONS --default-library shared)
else()
diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake
index 11178174e..d660fedd7 100644
--- a/scripts/cmake/vcpkg_configure_qmake.cmake
+++ b/scripts/cmake/vcpkg_configure_qmake.cmake
@@ -30,26 +30,30 @@ function(vcpkg_configure_qmake)
# Cleanup build directories
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_release.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf)
-
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- vcpkg_execute_required_process(
- COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release ${_csc_OPTIONS} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- LOGNAME config-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel done")
-
- configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_debug.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf)
-
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- vcpkg_execute_required_process(
- COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug ${_csc_OPTIONS} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf"
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- LOGNAME config-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done")
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_release.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf)
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ vcpkg_execute_required_process(
+ COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release ${_csc_OPTIONS} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME config-${TARGET_TRIPLET}-rel
+ )
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel done")
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_debug.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf)
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ vcpkg_execute_required_process(
+ COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug ${_csc_OPTIONS} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME config-${TARGET_TRIPLET}-dbg
+ )
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done")
+ endif()
endfunction() \ No newline at end of file
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 1642bf3b4..d5e95eb4b 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -88,13 +88,18 @@ function(vcpkg_find_acquire_program VAR)
set(APT_PACKAGE_NAME "python3")
endif()
elseif(VAR MATCHES "PYTHON2")
- set(PROGNAME python)
- set(SUBDIR "python2")
- set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR})
- file(TO_NATIVE_PATH "${PATHS}" DESTINATION_NATIVE_PATH)
- set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi")
- set(ARCHIVE "python2.msi")
- set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e)
+ if(CMAKE_HOST_WIN32)
+ set(PROGNAME python)
+ set(SUBDIR "python2")
+ set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR})
+ set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi")
+ set(ARCHIVE "python2.msi")
+ set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e)
+ else()
+ set(PROGNAME python2)
+ set(BREW_PACKAGE_NAME "python2")
+ set(APT_PACKAGE_NAME "python")
+ endif()
elseif(VAR MATCHES "RUBY")
set(PROGNAME "ruby")
set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.4.1-1-x86/bin)
@@ -103,11 +108,11 @@ function(vcpkg_find_acquire_program VAR)
set(HASH b51112e9b58cfcbe8cec0607e8a16fff6a943d9b4e31b2a7fbf5df5f83f050bf0a4812d3dd6000ff21a3d5fd219cd0a309c58ac1c1db950a9b0072405e4b70f5)
elseif(VAR MATCHES "JOM")
set(PROGNAME jom)
- set(SUBDIR "jom-1.1.2")
+ set(SUBDIR "jom-1.1.3")
set(PATHS ${DOWNLOADS}/tools/jom/${SUBDIR})
- set(URL "http://download.qt.io/official_releases/jom/jom_1_1_2.zip")
- set(ARCHIVE "jom_1_1_2.zip")
- set(HASH 830cd94ed6518fbe4604a0f5a3322671b4674b87d25a71349c745500d38e85c0fac4f6995242fc5521eb048e3966bb5ec2a96a06b041343ed8da9bba78124f34)
+ set(URL "http://download.qt.io/official_releases/jom/jom_1_1_3.zip")
+ set(ARCHIVE "jom_1_1_3.zip")
+ set(HASH 5b158ead86be4eb3a6780928d9163f8562372f30bde051d8c281d81027b766119a6e9241166b91de0aa6146836cea77e5121290e62e31b7a959407840fc57b33)
elseif(VAR MATCHES "7Z")
set(PROGNAME 7z)
set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/7-Zip" "${PROGRAM_FILES_32_BIT}/7-Zip" "${DOWNLOADS}/tools/7z/Files/7-Zip")
diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml
index 15f891979..c7d5c218a 100644
--- a/scripts/vcpkgTools.xml
+++ b/scripts/vcpkgTools.xml
@@ -29,11 +29,11 @@
<archiveName>cmake-3.12.4-FreeBSD-x86_64.tar.gz</archiveName>
</tool>
<tool name="git" os="windows">
- <version>2.20.0</version>
+ <version>2.21.0-1</version>
<exeRelativePath>mingw32\bin\git.exe</exeRelativePath>
- <url>https://github.com/git-for-windows/git/releases/download/v2.20.0.windows.1/PortableGit-2.20.0-32-bit.7z.exe</url>
- <sha512>81647a87df9fde0945ef597cb1cafd8f5f42859da89e9b1db55222a261407bc16bdcc0cf1e86e315697f0981832fe10fc02845cad4b4c82ea64bbd218aec6a49</sha512>
- <archiveName>PortableGit-2.20.0-32-bit.7z.exe</archiveName>
+ <url>https://github.com/git-for-windows/git/releases/download/v2.21.0.windows.1/PortableGit-2.21.0-32-bit.7z.exe</url>
+ <sha512>d5600fc35e91cfa84e3547e38a9da9798cf0a53810cc35ac9a0dee671c4ef0e9fbcbe3eda9c790f8db4eafce7ce58d7a168d28938a66cdcca000bf5a7f5267c1</sha512>
+ <archiveName>PortableGit-2.21.0-32-bit.7z.exe</archiveName>
</tool>
<tool name="git" os="linux">
<version>2.7.4</version>