mirror of
https://github.com/servo/servo.git
synced 2025-06-12 10:24:43 +00:00
Auto merge of #24149 - jdm:opt-in-msbuild, r=paulrouget
Add explicit packaging step for UWP apps <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24149) <!-- Reviewable:end -->
This commit is contained in:
commit
8bc8981ae5
7 changed files with 156 additions and 123 deletions
|
@ -92,6 +92,7 @@ def main(task_for):
|
||||||
macos_nightly()
|
macos_nightly()
|
||||||
update_wpt()
|
update_wpt()
|
||||||
magicleap_nightly()
|
magicleap_nightly()
|
||||||
|
uwp_nightly()
|
||||||
|
|
||||||
|
|
||||||
# These are disabled in a "real" decision task,
|
# These are disabled in a "real" decision task,
|
||||||
|
@ -373,11 +374,29 @@ def android_x86_wpt():
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def appx_artifact(debug, platforms):
|
||||||
|
return '/'.join([
|
||||||
|
'repo',
|
||||||
|
'support',
|
||||||
|
'hololens',
|
||||||
|
'AppPackages',
|
||||||
|
'ServoApp',
|
||||||
|
'ServoApp_1.0.0.0_%sTest' % 'Debug_' if debug else '',
|
||||||
|
'ServoApp_1.0.0.0_%s%s.appxbundle' % (
|
||||||
|
'_'.join(platforms), '_Debug' if debug else ''
|
||||||
|
),
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
def windows_arm64():
|
def windows_arm64():
|
||||||
return (
|
return (
|
||||||
windows_build_task("UWP dev build", arch="arm64", package=False)
|
windows_build_task("UWP dev build", arch="arm64", package=False)
|
||||||
.with_treeherder("Windows arm64")
|
.with_treeherder("Windows arm64")
|
||||||
.with_script("python mach build --dev --uwp --win-arm64")
|
.with_script(
|
||||||
|
"python mach build --dev --uwp --win-arm64",
|
||||||
|
"python mach package --dev --target aarch64-pc-windows-msvc --uwp=arm64",
|
||||||
|
)
|
||||||
|
.with_artifacts(appx_artifact(debug=True, platforms=['arm64']))
|
||||||
.find_or_create("build.windows_uwp_arm64_dev." + CONFIG.task_id())
|
.find_or_create("build.windows_uwp_arm64_dev." + CONFIG.task_id())
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -386,11 +405,33 @@ def windows_uwp_x64():
|
||||||
return (
|
return (
|
||||||
windows_build_task("UWP dev build", package=False)
|
windows_build_task("UWP dev build", package=False)
|
||||||
.with_treeherder("Windows x64")
|
.with_treeherder("Windows x64")
|
||||||
.with_script("mach build --dev --uwp")
|
.with_script(
|
||||||
|
"mach build --dev --uwp",
|
||||||
|
"mach package --dev --uwp=x64",
|
||||||
|
)
|
||||||
|
.with_artifacts(appx_artifact(debug=True, platforms=['x64']))
|
||||||
.find_or_create("build.windows_uwp_x64_dev." + CONFIG.task_id())
|
.find_or_create("build.windows_uwp_x64_dev." + CONFIG.task_id())
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def uwp_nightly():
|
||||||
|
return (
|
||||||
|
windows_build_task("Nightly UWP build and upload", package=False)
|
||||||
|
.with_treeherder("Windows x64", "UWP Nightly")
|
||||||
|
.with_features("taskclusterProxy")
|
||||||
|
.with_scopes("secrets:get:project/servo/s3-upload-credentials")
|
||||||
|
.with_script(
|
||||||
|
"mach build --release --uwp",
|
||||||
|
"python mach build --release --uwp --win-arm64",
|
||||||
|
"mach package --release --uwp=x64 --uwp=arm64",
|
||||||
|
"mach upload-nightly uwp --secret-from-taskcluster",
|
||||||
|
)
|
||||||
|
.with_artifacts(appx_artifact(debug=False, platforms=['x64', 'arm64']))
|
||||||
|
.with_max_run_time_minutes(3 * 60)
|
||||||
|
.find_or_create("build.windows_uwp_nightlies." + CONFIG.task_id())
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def windows_unit():
|
def windows_unit():
|
||||||
return (
|
return (
|
||||||
windows_build_task("Dev build + unit tests")
|
windows_build_task("Dev build + unit tests")
|
||||||
|
|
|
@ -249,15 +249,7 @@ class MachCommands(CommandBase):
|
||||||
env["CXXFLAGS"] += "-mmacosx-version-min=10.10"
|
env["CXXFLAGS"] += "-mmacosx-version-min=10.10"
|
||||||
|
|
||||||
if 'windows' in host:
|
if 'windows' in host:
|
||||||
vsinstalldir = os.environ.get('VSINSTALLDIR')
|
vs_dirs = self.vs_dirs()
|
||||||
vcinstalldir = None
|
|
||||||
vs_version = os.environ.get('VisualStudioVersion')
|
|
||||||
if vsinstalldir and vs_version:
|
|
||||||
msbuild_version = get_msbuild_version(vs_version)
|
|
||||||
else:
|
|
||||||
(vsinstalldir, vs_version, msbuild_version) = find_highest_msvc_version()
|
|
||||||
msbuildinstalldir = os.path.join(vsinstalldir, "MSBuild",
|
|
||||||
msbuild_version, "Bin")
|
|
||||||
|
|
||||||
if host != target_triple and 'windows' in target_triple:
|
if host != target_triple and 'windows' in target_triple:
|
||||||
if os.environ.get('VisualStudioVersion'):
|
if os.environ.get('VisualStudioVersion'):
|
||||||
|
@ -265,9 +257,9 @@ class MachCommands(CommandBase):
|
||||||
"Please run `python mach build [arguments]` to bypass automatic "
|
"Please run `python mach build [arguments]` to bypass automatic "
|
||||||
"Visual Studio shell.")
|
"Visual Studio shell.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
vcinstalldir = os.environ.get("VCINSTALLDIR", "") or os.path.join(vsinstalldir, "VC")
|
vcinstalldir = vs_dirs['vcdir']
|
||||||
if not os.path.exists(vcinstalldir):
|
if not os.path.exists(vcinstalldir):
|
||||||
print("Can't find Visual C++ %s installation at %s." % (vs_version, vcinstalldir))
|
print("Can't find Visual C++ %s installation at %s." % (vs_dirs['vs_version'], vcinstalldir))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
env['PKG_CONFIG_ALLOW_CROSS'] = "1"
|
env['PKG_CONFIG_ALLOW_CROSS'] = "1"
|
||||||
|
@ -695,13 +687,9 @@ class MachCommands(CommandBase):
|
||||||
|
|
||||||
# UWP app packaging already bundles all required DLLs for us.
|
# UWP app packaging already bundles all required DLLs for us.
|
||||||
print("Packaging MSVC DLLs")
|
print("Packaging MSVC DLLs")
|
||||||
if not package_msvc_dlls(servo_exe_dir, target_triple, vcinstalldir, vs_version):
|
if not package_msvc_dlls(servo_exe_dir, target_triple, vs_dirs['vcdir'], vs_dirs['vs_version']):
|
||||||
status = 1
|
status = 1
|
||||||
|
|
||||||
# UWP build hololens
|
|
||||||
if uwp and status == 0:
|
|
||||||
build_uwp_hololens(target_triple, dev, msbuildinstalldir)
|
|
||||||
|
|
||||||
elif sys.platform == "darwin":
|
elif sys.platform == "darwin":
|
||||||
# On the Mac, set a lovely icon. This makes it easier to pick out the Servo binary in tools
|
# On the Mac, set a lovely icon. This makes it easier to pick out the Servo binary in tools
|
||||||
# like Instruments.app.
|
# like Instruments.app.
|
||||||
|
@ -907,33 +895,6 @@ def package_gstreamer_dlls(env, servo_exe_dir, target, uwp):
|
||||||
return not missing
|
return not missing
|
||||||
|
|
||||||
|
|
||||||
def build_uwp_hololens(target, dev, msbuild_dir):
|
|
||||||
# determine Visual studio Build Configuration (Debug/Release) and
|
|
||||||
# Build Platform (x64 vs arm64)
|
|
||||||
vs_platforms = {
|
|
||||||
"x86_64": "x64",
|
|
||||||
"i686": "x86",
|
|
||||||
"aarch64": "arm64",
|
|
||||||
}
|
|
||||||
target_arch = target.split('-')[0]
|
|
||||||
vs_platform = vs_platforms[target_arch]
|
|
||||||
|
|
||||||
if dev:
|
|
||||||
Configuration = "Debug"
|
|
||||||
else:
|
|
||||||
Configuration = "Release"
|
|
||||||
|
|
||||||
# execute msbuild
|
|
||||||
# Note: /m implies to use as many CPU cores as possible while building.
|
|
||||||
# msbuild /m /p:project=ServoApp .\support\hololens\servoapp.sln /p:SolutionDir=.\support\hololens
|
|
||||||
# /p:Configuration="Debug" /p:Platform="x64" /property:AppxBundle=Always;AppxBundlePlatforms="x64"
|
|
||||||
check_call([msbuild_dir + "\msbuild.exe", "/m", "/p:project=ServoApp", ".\support\hololens\ServoApp.sln",
|
|
||||||
"/p:SolutionDir=.\support\hololens",
|
|
||||||
"/p:Configuration=" + Configuration,
|
|
||||||
"/p:Platform=" + vs_platform,
|
|
||||||
"/p:AppxBundle=Always;AppxBundlePlatforms=" + vs_platform])
|
|
||||||
|
|
||||||
|
|
||||||
def package_msvc_dlls(servo_exe_dir, target, vcinstalldir, vs_version):
|
def package_msvc_dlls(servo_exe_dir, target, vcinstalldir, vs_version):
|
||||||
# copy some MSVC DLLs to servo.exe dir
|
# copy some MSVC DLLs to servo.exe dir
|
||||||
msvc_redist_dir = None
|
msvc_redist_dir = None
|
||||||
|
@ -1002,34 +963,3 @@ def package_msvc_dlls(servo_exe_dir, target, vcinstalldir, vs_version):
|
||||||
for msvc_dll in missing:
|
for msvc_dll in missing:
|
||||||
print("DLL file `{}` not found!".format(msvc_dll))
|
print("DLL file `{}` not found!".format(msvc_dll))
|
||||||
return not missing
|
return not missing
|
||||||
|
|
||||||
|
|
||||||
def get_msbuild_version(vs_version):
|
|
||||||
if vs_version in ("15.0", "14.0"):
|
|
||||||
msbuild_version = vs_version
|
|
||||||
else:
|
|
||||||
msbuild_version = "Current"
|
|
||||||
return msbuild_version
|
|
||||||
|
|
||||||
|
|
||||||
def find_highest_msvc_version():
|
|
||||||
editions = ["Enterprise", "Professional", "Community", "BuildTools"]
|
|
||||||
prog_files = os.environ.get("ProgramFiles(x86)")
|
|
||||||
base_vs_path = os.path.join(prog_files, "Microsoft Visual Studio")
|
|
||||||
|
|
||||||
vs_versions = ["2019", "2017"]
|
|
||||||
versions = {
|
|
||||||
("2019", "vs"): "16.0",
|
|
||||||
("2017", "vs"): "15.0",
|
|
||||||
}
|
|
||||||
|
|
||||||
for version in vs_versions:
|
|
||||||
for edition in editions:
|
|
||||||
vs_version = versions[version, "vs"]
|
|
||||||
msbuild_version = get_msbuild_version(vs_version)
|
|
||||||
|
|
||||||
vsinstalldir = os.path.join(base_vs_path, version, edition)
|
|
||||||
if os.path.exists(vsinstalldir):
|
|
||||||
return (vsinstalldir, vs_version, msbuild_version)
|
|
||||||
print("Can't find MSBuild.exe installation under %s." % base_vs_path)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
|
@ -597,6 +597,23 @@ install them, let us know by filing a bug!")
|
||||||
def msvc_package_dir(self, package):
|
def msvc_package_dir(self, package):
|
||||||
return path.join(self.context.sharedir, "msvc-dependencies", package, msvc_deps[package])
|
return path.join(self.context.sharedir, "msvc-dependencies", package, msvc_deps[package])
|
||||||
|
|
||||||
|
def vs_dirs(self):
|
||||||
|
assert 'windows' in host_triple()
|
||||||
|
vsinstalldir = os.environ.get('VSINSTALLDIR')
|
||||||
|
vs_version = os.environ.get('VisualStudioVersion')
|
||||||
|
if vsinstalldir and vs_version:
|
||||||
|
msbuild_version = get_msbuild_version(vs_version)
|
||||||
|
else:
|
||||||
|
(vsinstalldir, vs_version, msbuild_version) = find_highest_msvc_version()
|
||||||
|
msbuildinstalldir = os.path.join(vsinstalldir, "MSBuild", msbuild_version, "Bin")
|
||||||
|
vcinstalldir = os.environ.get("VCINSTALLDIR", "") or os.path.join(vsinstalldir, "VC")
|
||||||
|
return {
|
||||||
|
'msbuild': msbuildinstalldir,
|
||||||
|
'vsdir': vsinstalldir,
|
||||||
|
'vs_version': vs_version,
|
||||||
|
'vcdir': vcinstalldir,
|
||||||
|
}
|
||||||
|
|
||||||
def build_env(self, hosts_file_path=None, target=None, is_build=False, test_unit=False):
|
def build_env(self, hosts_file_path=None, target=None, is_build=False, test_unit=False):
|
||||||
"""Return an extended environment dictionary."""
|
"""Return an extended environment dictionary."""
|
||||||
env = os.environ.copy()
|
env = os.environ.copy()
|
||||||
|
@ -978,3 +995,34 @@ install them, let us know by filing a bug!")
|
||||||
sys.exit(error)
|
sys.exit(error)
|
||||||
else:
|
else:
|
||||||
print("Clobber not needed.")
|
print("Clobber not needed.")
|
||||||
|
|
||||||
|
|
||||||
|
def find_highest_msvc_version():
|
||||||
|
editions = ["Enterprise", "Professional", "Community", "BuildTools"]
|
||||||
|
prog_files = os.environ.get("ProgramFiles(x86)")
|
||||||
|
base_vs_path = os.path.join(prog_files, "Microsoft Visual Studio")
|
||||||
|
|
||||||
|
vs_versions = ["2019", "2017"]
|
||||||
|
versions = {
|
||||||
|
("2019", "vs"): "16.0",
|
||||||
|
("2017", "vs"): "15.0",
|
||||||
|
}
|
||||||
|
|
||||||
|
for version in vs_versions:
|
||||||
|
for edition in editions:
|
||||||
|
vs_version = versions[version, "vs"]
|
||||||
|
msbuild_version = get_msbuild_version(vs_version)
|
||||||
|
|
||||||
|
vsinstalldir = os.path.join(base_vs_path, version, edition)
|
||||||
|
if os.path.exists(vsinstalldir):
|
||||||
|
return (vsinstalldir, vs_version, msbuild_version)
|
||||||
|
print("Can't find MSBuild.exe installation under %s." % base_vs_path)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def get_msbuild_version(vs_version):
|
||||||
|
if vs_version in ("15.0", "14.0"):
|
||||||
|
msbuild_version = vs_version
|
||||||
|
else:
|
||||||
|
msbuild_version = "Current"
|
||||||
|
return msbuild_version
|
||||||
|
|
|
@ -67,6 +67,9 @@ PACKAGES = {
|
||||||
r'target\release\msi\Servo.exe',
|
r'target\release\msi\Servo.exe',
|
||||||
r'target\release\msi\Servo.zip',
|
r'target\release\msi\Servo.zip',
|
||||||
],
|
],
|
||||||
|
'uwp': [
|
||||||
|
r'support\hololens\AppPackages\ServoApp\ServoApp_1.0.0.0_Test\ServoApp_1.0.0.0_x64_arm64.appxbundle',
|
||||||
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -202,8 +205,12 @@ class PackageCommands(CommandBase):
|
||||||
default=None,
|
default=None,
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help='Create a local Maven repository')
|
help='Create a local Maven repository')
|
||||||
|
@CommandArgument('--uwp',
|
||||||
|
default=None,
|
||||||
|
action='append',
|
||||||
|
help='Create an APPX package')
|
||||||
def package(self, release=False, dev=False, android=None, magicleap=None, debug=False,
|
def package(self, release=False, dev=False, android=None, magicleap=None, debug=False,
|
||||||
debugger=None, target=None, flavor=None, maven=False):
|
debugger=None, target=None, flavor=None, maven=False, uwp=None):
|
||||||
if android is None:
|
if android is None:
|
||||||
android = self.config["build"]["android"]
|
android = self.config["build"]["android"]
|
||||||
if target and android:
|
if target and android:
|
||||||
|
@ -219,10 +226,16 @@ class PackageCommands(CommandBase):
|
||||||
if magicleap:
|
if magicleap:
|
||||||
target = "aarch64-linux-android"
|
target = "aarch64-linux-android"
|
||||||
env = self.build_env(target=target)
|
env = self.build_env(target=target)
|
||||||
binary_path = self.get_binary_path(release, dev, target=target, android=android, magicleap=magicleap)
|
binary_path = self.get_binary_path(
|
||||||
|
release, dev, target=target, android=android, magicleap=magicleap,
|
||||||
|
simpleservo=uwp is not None
|
||||||
|
)
|
||||||
dir_to_root = self.get_top_dir()
|
dir_to_root = self.get_top_dir()
|
||||||
target_dir = path.dirname(binary_path)
|
target_dir = path.dirname(binary_path)
|
||||||
if magicleap:
|
if uwp:
|
||||||
|
vs_info = self.vs_dirs()
|
||||||
|
build_uwp(uwp, dev, vs_info['msbuild'])
|
||||||
|
elif magicleap:
|
||||||
if platform.system() not in ["Darwin"]:
|
if platform.system() not in ["Darwin"]:
|
||||||
raise Exception("Magic Leap builds are only supported on macOS.")
|
raise Exception("Magic Leap builds are only supported on macOS.")
|
||||||
if not env.get("MAGICLEAP_SDK"):
|
if not env.get("MAGICLEAP_SDK"):
|
||||||
|
@ -724,3 +737,32 @@ class PackageCommands(CommandBase):
|
||||||
update_brew(packages[0], timestamp)
|
update_brew(packages[0], timestamp)
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
def build_uwp(platforms, dev, msbuild_dir):
|
||||||
|
if any(map(lambda p: p not in ['x64', 'x86', 'arm64'], platforms)):
|
||||||
|
raise Exception("Unsupported appx platforms: " + str(platforms))
|
||||||
|
if dev and len(platforms) > 1:
|
||||||
|
raise Exception("Debug package with multiple architectures is unsupported")
|
||||||
|
|
||||||
|
if dev:
|
||||||
|
Configuration = "Debug"
|
||||||
|
else:
|
||||||
|
Configuration = "Release"
|
||||||
|
|
||||||
|
msbuild = path.join(msbuild_dir, "msbuild.exe")
|
||||||
|
build_file_template = path.join('support', 'hololens', 'package.msbuild')
|
||||||
|
with open(build_file_template) as f:
|
||||||
|
template_contents = f.read()
|
||||||
|
build_file = tempfile.NamedTemporaryFile(delete=False)
|
||||||
|
build_file.write(
|
||||||
|
template_contents
|
||||||
|
.replace("%%BUILD_PLATFORMS%%", ';'.join(platforms))
|
||||||
|
.replace("%%PACKAGE_PLATFORMS%%", '|'.join(platforms))
|
||||||
|
.replace("%%CONFIGURATION%%", Configuration)
|
||||||
|
.replace("%%SOLUTION%%", path.join(os.getcwd(), 'support', 'hololens', 'ServoApp.sln'))
|
||||||
|
)
|
||||||
|
build_file.close()
|
||||||
|
# Generate an appxbundle.
|
||||||
|
subprocess.check_call([msbuild, "/m", build_file.name])
|
||||||
|
os.unlink(build_file.name)
|
||||||
|
|
|
@ -7,40 +7,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ServoApp", "ServoApp\ServoA
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|ARM = Debug|ARM
|
|
||||||
Debug|ARM64 = Debug|ARM64
|
Debug|ARM64 = Debug|ARM64
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
Debug|x86 = Debug|x86
|
|
||||||
Release|ARM = Release|ARM
|
|
||||||
Release|ARM64 = Release|ARM64
|
Release|ARM64 = Release|ARM64
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
Release|x86 = Release|x86
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM.ActiveCfg = Debug|ARM
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM.Build.0 = Debug|ARM
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM.Deploy.0 = Debug|ARM
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM64.Build.0 = Debug|ARM64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x64.ActiveCfg = Debug|x64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x64.Build.0 = Debug|x64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x64.Build.0 = Debug|x64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x64.Deploy.0 = Debug|x64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x64.Deploy.0 = Debug|x64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x86.ActiveCfg = Debug|Win32
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x86.Build.0 = Debug|Win32
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Debug|x86.Deploy.0 = Debug|Win32
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM.ActiveCfg = Release|ARM
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM.Build.0 = Release|ARM
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM.Deploy.0 = Release|ARM
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM64.ActiveCfg = Release|ARM64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM64.Build.0 = Release|ARM64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM64.Deploy.0 = Release|ARM64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x64.ActiveCfg = Release|x64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x64.ActiveCfg = Release|x64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x64.Build.0 = Release|x64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x64.Build.0 = Release|x64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x64.Deploy.0 = Release|x64
|
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x64.Deploy.0 = Release|x64
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x86.Build.0 = Release|Win32
|
|
||||||
{0EAB7D8B-97FD-4C92-8BB2-D5691B3D5ABD}.Release|x86.Deploy.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
@ -18,34 +18,18 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|ARM">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>ARM</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|ARM64">
|
<ProjectConfiguration Include="Debug|ARM64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>ARM64</Platform>
|
<Platform>ARM64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|ARM">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>ARM</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|ARM64">
|
<ProjectConfiguration Include="Release|ARM64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>ARM64</Platform>
|
<Platform>ARM64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
|
@ -103,19 +87,14 @@
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\debug\</AdditionalIncludeDirectories>
|
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\debug\</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\debug\</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\debug\</AdditionalIncludeDirectories>
|
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\debug\</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\debug\</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\debug\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\debug\</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<Link>
|
<Link />
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)\..\..\..\target\debug\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)\..\..\..\target\debug\</AdditionalLibraryDirectories>
|
||||||
|
@ -124,19 +103,14 @@
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\release</AdditionalIncludeDirectories>
|
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\release</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\release</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\release</AdditionalIncludeDirectories>
|
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\release</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\..\..\..\target\release</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\release\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir)\..\..\..\target\aarch64-pc-windows-msvc\release\</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<Link>
|
<Link />
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WindowsApp.lib;%(AdditionalDependencies);simpleservo.dll.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)\..\..\..\target\release\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)\..\..\..\target\release\</AdditionalLibraryDirectories>
|
||||||
|
|
14
support/hololens/package.msbuild
Normal file
14
support/hololens/package.msbuild
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="FullRebuild">
|
||||||
|
<Target Name="FullRebuild">
|
||||||
|
<ItemGroup>
|
||||||
|
<Configurations Include="%%CONFIGURATION%%"/>
|
||||||
|
<Platforms Include="%%BUILD_PLATFORMS%%"/>
|
||||||
|
<ConfigAndPlatform Include="@(Configurations)">
|
||||||
|
<Platform>%(Platforms.Identity)</Platform>
|
||||||
|
</ConfigAndPlatform>
|
||||||
|
</ItemGroup>
|
||||||
|
<MSBuild Projects="%%SOLUTION%%" Targets="Build"
|
||||||
|
Properties="Configuration=%(ConfigAndPlatform.Identity);Platform=%(ConfigAndPlatform.Platform);AppxBundle=Always;AppxBundlePlatforms=%%PACKAGE_PLATFORMS%%;UseSubFolderForOutputDirDuringMultiPlatformBuild=false"/>
|
||||||
|
</Target>
|
||||||
|
</Project>
|
Loading…
Add table
Add a link
Reference in a new issue