Merge branch 'development' into TIF/Runtime

This commit is contained in:
John
2021-06-16 17:23:18 +01:00
925 changed files with 201921 additions and 111266 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform
ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418)
ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665)
ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4)
ly_associate_package(PACKAGE_NAME azslc-1.7.21-rev1-multiplatform TARGETS azslc PACKAGE_HASH 772b7a2d9cc68aa1da4f0ee7db57ee1b4e7a8f20b81961fc5849af779582f4df)
ly_associate_package(PACKAGE_NAME azslc-1.7.22-rev1-multiplatform TARGETS azslc PACKAGE_HASH 71b4545d221d4fcd564ccc121c249a8f8f164bcc616faf146f926c3d5c78d527)
ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARGETS glad PACKAGE_HASH ff97ee9664e97d0854b52a3734c2289329d9f2b4cd69478df6d0ca1f1c9392ee)
ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux_core PACKAGE_HASH c8c13cf7bc351643e1abd294d0841b24dee60e51647dff13db7aec396ad1e0b5)
ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e)
@@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform
ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418)
ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665)
ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4)
ly_associate_package(PACKAGE_NAME azslc-1.7.21-rev1-multiplatform TARGETS azslc PACKAGE_HASH 772b7a2d9cc68aa1da4f0ee7db57ee1b4e7a8f20b81961fc5849af779582f4df)
ly_associate_package(PACKAGE_NAME azslc-1.7.22-rev1-multiplatform TARGETS azslc PACKAGE_HASH 71b4545d221d4fcd564ccc121c249a8f8f164bcc616faf146f926c3d5c78d527)
ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARGETS glad PACKAGE_HASH ff97ee9664e97d0854b52a3734c2289329d9f2b4cd69478df6d0ca1f1c9392ee)
ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux_core PACKAGE_HASH c8c13cf7bc351643e1abd294d0841b24dee60e51647dff13db7aec396ad1e0b5)
ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e)
+1
View File
@@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE)
# Test library support
ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE)
@@ -40,7 +40,6 @@ ly_append_configurations_options(
-Wno-unused-private-field
-Wno-unused-value
-Wno-unused-variable
-Wno-non-pod-varargs
-Wno-unused-lambda-capture
# Workaround for compiler seeing file case differently from what OS show in console.
-Wno-nonportable-include-path
+13 -2
View File
@@ -162,7 +162,18 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME)
elseif(target_type STREQUAL MODULE_LIBRARY)
set(target_location "\${LY_ROOT_FOLDER}/${library_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/${target_library_output_subdirectory}/$<TARGET_FILE_NAME:${TARGET_NAME}>")
elseif(target_type STREQUAL SHARED_LIBRARY)
string(APPEND target_file_contents "set_property(TARGET ${TARGET_NAME} PROPERTY IMPORTED_IMPLIB_$<CONFIG> \"\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/$<TARGET_LINKER_FILE_NAME:${TARGET_NAME}>\")\n")
string(APPEND target_file_contents
"set_property(TARGET ${TARGET_NAME}
APPEND_STRING PROPERTY IMPORTED_IMPLIB
$<$<CONFIG:$<CONFIG>$<ANGLE-R>:\"\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/$<TARGET_LINKER_FILE_NAME:${TARGET_NAME}>\"$<ANGLE-R>
)
")
string(APPEND target_file_contents
"set_property(TARGET ${TARGET_NAME}
PROPERTY IMPORTED_IMPLIB_$<UPPER_CASE:$<CONFIG>>
\"\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/$<TARGET_LINKER_FILE_NAME:${TARGET_NAME}>\"
)
")
set(target_location "\${LY_ROOT_FOLDER}/${library_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/${target_library_output_subdirectory}/$<TARGET_FILE_NAME:${TARGET_NAME}>")
else() # STATIC_LIBRARY, OBJECT_LIBRARY, INTERFACE_LIBRARY
set(target_location "\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/$<TARGET_LINKER_FILE_NAME:${TARGET_NAME}>")
@@ -363,7 +374,7 @@ function(ly_setup_cmake_install)
string(APPEND builtinpackages "ly_associate_package(PACKAGE_NAME ${package_name} TARGETS ${targets} PACKAGE_HASH ${package_hash})\n")
endforeach()
ly_get_absolute_pal_filename(pal_builtin_file ${CMAKE_CURRENT_BINARY_DIR}/cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
set(pal_builtin_file ${CMAKE_CURRENT_BINARY_DIR}/cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
file(GENERATE OUTPUT ${pal_builtin_file}
CONTENT ${builtinpackages}
)
@@ -63,12 +63,9 @@ ly_append_configurations_options(
# Disabling these warnings while they get fixed
/wd4018 # signed/unsigned mismatch
/wd4121 # alignment of a member was sensitive to packing
/wd4244 # conversion, possible loss of data
/wd4245 # conversion, signed/unsigned mismatch
/wd4267 # conversion, possible loss of data
/wd4310 # cast truncates constant value
/wd4324 # structure was padded due to alignment specifier
/wd4389 # comparison, signed/unsigned mismatch
# Enabling warnings that are disabled by default from /W4
@@ -10,5 +10,5 @@
#
if(CMAKE_GENERATOR MATCHES "Visual Studio 16")
configure_file("${CMAKE_CURRENT_LIST_DIR}/Directory.Build.props" "${CMAKE_CURRENT_BINARY_DIR}/Directory.Build.props" COPYONLY)
configure_file("${CMAKE_CURRENT_LIST_DIR}/Directory.Build.props" "${CMAKE_BINARY_DIR}/Directory.Build.props" COPYONLY)
endif()
+1
View File
@@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE)
# Test library support
ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE)
+1
View File
@@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE)
# Test library support
ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE)
+1
View File
@@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED TRUE)
# Test library support
ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED TRUE)
ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE)
@@ -22,6 +22,8 @@
<bal:WixStandardBootstrapperApplication
LicenseUrl="$(var.CPACK_LICENSE_URL)"
LogoFile="$(var.CPACK_WIX_PRODUCT_LOGO)"
ThemeFile="$(var.CPACK_BOOTSTRAP_THEME_FILE).xml"
LocalizationFile="$(var.CPACK_BOOTSTRAP_THEME_FILE).wxl"
ShowVersion="yes" />
</BootstrapperApplicationRef>
<?else?>
@@ -29,6 +31,8 @@
<bal:WixStandardBootstrapperApplication
LicenseFile="$(var.CPACK_WIX_LICENSE_RTF)"
LogoFile="$(var.CPACK_WIX_PRODUCT_LOGO)"
ThemeFile="$(var.CPACK_BOOTSTRAP_THEME_FILE).xml"
LocalizationFile="$(var.CPACK_BOOTSTRAP_THEME_FILE).wxl"
ShowVersion="yes" />
</BootstrapperApplicationRef>
<?endif?>
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us"
Language="1033"
xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- common -->
<String Id="WindowTitle">[WixBundleName] Setup</String>
<String Id="Title">[WixBundleName]</String>
<String Id="InstallVersion">Version [WixBundleVersion]</String>
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
<!-- welcome page -->
<String Id="InstallHeader">Welcome</String>
<String Id="InstallMessage">
Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit.
</String>
<String Id="InstallLicenseLinkText">[WixBundleName] &lt;a href="#"&gt;license terms&lt;/a&gt;.</String>
<String Id="InstallAcceptCheckbox">I &amp;agree to the license terms and conditions</String>
<String Id="InstallOptionsButton">&amp;Options</String>
<String Id="InstallInstallButton">&amp;Install</String>
<String Id="InstallCloseButton">&amp;Close</String>
<!-- configure install page -->
<String Id="OptionsHeader">Setup Options</String>
<String Id="OptionsLocationLabel">Install location:</String>
<String Id="OptionsBrowseButton">&amp;Browse</String>
<String Id="OptionsOkButton">&amp;OK</String>
<String Id="OptionsCancelButton">&amp;Cancel</String>
<!-- edit existing install page -->
<String Id="ModifyHeader">Modify Setup</String>
<String Id="ModifyRepairButton">&amp;Repair</String>
<String Id="ModifyUninstallButton">&amp;Uninstall</String>
<String Id="ModifyCloseButton">&amp;Close</String>
<!-- action progress page -->
<String Id="ProgressHeader">Setup Progress</String>
<String Id="ProgressLabel">Processing:</String>
<String Id="OverallProgressPackageText">Initializing...</String>
<String Id="ProgressCancelButton">&amp;Cancel</String>
<!-- final page (success state) -->
<String Id="SuccessHeader">Setup Successful</String>
<String Id="SuccessInstallHeader">Installation Successfully Completed</String>
<String Id="SuccessRepairHeader">Repair Successfully Completed</String>
<String Id="SuccessUninstallHeader">Uninstall Successfully Completed</String>
<String Id="SuccessLaunchButton">&amp;Launch</String>
<String Id="SuccessCloseButton">&amp;Close</String>
<!-- final page (fail state) -->
<String Id="FailureHeader">Setup Failed</String>
<String Id="FailureInstallHeader">Setup Failed</String>
<String Id="FailureUninstallHeader">Uninstall Failed</String>
<String Id="FailureRepairHeader">Repair Failed</String>
<String Id="FailureHyperlinkLogText">
One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the &lt;a href="#"&gt;log file&lt;/a&gt;.
</String>
<String Id="FailureCloseButton">&amp;Close</String>
<!-- help page -->
<String Id="HelpHeader">Setup Help</String>
<String Id="HelpText">
/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or creates a complete local copy of the bundle in directory. Install is the default.
/passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed.
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.
</String>
<String Id="HelpCloseButton">&amp;Close</String>
</WixLocalization>
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
<Window Width="485" Height="300" HexStyle="100a0000" FontId="0">#(loc.WindowTitle)</Window>
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
<!-- top banner -->
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png" Visible="yes"/>
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" Visible="yes" DisablePrefix="yes">#(loc.Title)</Text>
<!-- welcome page -->
<Page Name="Install">
@WIX_THEME_INSTALL_LICENSE_ELEMENT@
<Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
<!-- configure install page -->
<Page Name="Options">
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
<Text X="11" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OptionsLocationLabel)</Text>
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
</Page>
<!-- edit existing install page -->
<Page Name="Modify">
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
</Page>
<!-- action progress page -->
<Page Name="Progress">
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
<Text X="11" Y="121" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
<Text Name="OverallProgressPackageText" X="85" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="143" Width="-11" Height="15" />
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
</Page>
<!-- final page (success state) -->
<Page Name="Success">
<Text Name="SuccessHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
<Text Name="SuccessInstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessInstallHeader)</Text>
<Text Name="SuccessRepairHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRepairHeader)</Text>
<Text Name="SuccessUninstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessUninstallHeader)</Text>
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
</Page>
<!-- final page (failure state) -->
<Page Name="Failure">
<Text Name="FailureHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureHeader)</Text>
<Text Name="FailureInstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureInstallHeader)</Text>
<Text Name="FailureUninstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureUninstallHeader)</Text>
<Text Name="FailureRepairHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRepairHeader)</Text>
<Hypertext Name="FailureLogFileLink" X="11" Y="121" Width="-11" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
<Hypertext Name="FailureMessageText" X="22" Y="163" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
</Page>
<!-- help page -->
<Page Name="Help">
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
<Text X="11" Y="112" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
</Page>
</Theme>
@@ -25,6 +25,7 @@ set(_ext_flags
)
set(_addtional_defines
-dCPACK_BOOTSTRAP_THEME_FILE=${CPACK_BINARY_DIR}/BootstrapperTheme
-dCPACK_BOOTSTRAP_UPGRADE_GUID=${CPACK_WIX_BOOTSTRAP_UPGRADE_GUID}
-dCPACK_DOWNLOAD_SITE=${CPACK_DOWNLOAD_SITE}
-dCPACK_LOCAL_INSTALLER_DIR=${_cpack_wix_out_dir}
@@ -92,6 +92,28 @@ set(CPACK_WIX_EXTENSIONS
set(_embed_artifacts "yes")
if(LY_INSTALLER_DOWNLOAD_URL)
if(LY_INSTALLER_LICENSE_URL)
set(WIX_THEME_INSTALL_LICENSE_ELEMENT
"<Hypertext Name=\"EulaHyperlink\" X=\"11\" Y=\"121\" Width=\"-11\" Height=\"51\" TabStop=\"yes\" FontId=\"3\" HideWhenDisabled=\"yes\">#(loc.InstallLicenseLinkText)</Hypertext>"
)
else()
set(WIX_THEME_INSTALL_LICENSE_ELEMENT
"<Richedit Name=\"EulaRichedit\" X=\"11\" Y=\"80\" Width=\"-11\" Height=\"-70\" TabStop=\"yes\" FontId=\"0\" HexStyle=\"0x800000\" />"
)
endif()
configure_file(
"${CPACK_SOURCE_DIR}/Platform/Windows/Packaging/BootstrapperTheme.xml.in"
"${CPACK_BINARY_DIR}/BootstrapperTheme.xml"
@ONLY
)
configure_file(
"${CPACK_SOURCE_DIR}/Platform/Windows/Packaging/BootstrapperTheme.wxl.in"
"${CPACK_BINARY_DIR}/BootstrapperTheme.wxl"
@ONLY
)
set(_embed_artifacts "no")
# the bootstrapper will at the very least need a different upgrade guid
@@ -26,6 +26,8 @@ set(FILES
Packaging_windows.cmake
PackagingPostBuild.cmake
Packaging/Bootstrapper.wxs
Packaging/BootstrapperTheme.wxl.in
Packaging/BootstrapperTheme.xml.in
Packaging/Shortcuts.wxs
Packaging/Template.wxs.in
)
+1
View File
@@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE)
# Test library support
ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED FALSE)
ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE)
@@ -184,11 +184,15 @@ class AndroidDeployment(object):
call_arguments.extend(arg_list)
output = subprocess.check_output(call_arguments,
shell=True,
stderr=subprocess.DEVNULL).decode(common.DEFAULT_TEXT_READ_ENCODING,
common.ENCODING_ERROR_HANDLINGS)
return output
try:
output = subprocess.check_output(call_arguments,
shell=True,
stderr=subprocess.PIPE).decode(common.DEFAULT_TEXT_READ_ENCODING,
common.ENCODING_ERROR_HANDLINGS)
return output
except subprocess.CalledProcessError as err:
raise common.LmbrCmdError(err.stderr.decode(common.DEFAULT_TEXT_READ_ENCODING,
common.ENCODING_ERROR_HANDLINGS))
def adb_shell(self, command, device_id):
"""
@@ -48,7 +48,7 @@ def verify_gradle(override_gradle_path=None):
CMAKE_ARGUMENT_NAME = '--cmake-install-path'
CMAKE_MIN_VERSION = LooseVersion('3.19.0')
CMAKE_MIN_VERSION = LooseVersion('3.20.0')
CMAKE_VERSION_REGEX = re.compile(r'cmake version (\d+.\d+.?\d*)')
CMAKE_EXECUTABLE = 'cmake'
+3 -2
View File
@@ -15,6 +15,7 @@ import pathlib
import sys
SCHEME_NAME = 'AzTestRunner'
XCODE_PROJECT_NAME = 'O3DE'
# Resolve the common python module
ROOT_DEV_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..'))
@@ -30,7 +31,7 @@ def build_ios_test(build_dir, configuration):
xcode_build = common.CommandLineExec('/usr/bin/xcodebuild')
command_line_arguments = ['build-for-testing',
'-project', 'Lumberyard.xcodeproj',
'-project', f'{XCODE_PROJECT_NAME}.xcodeproj',
'-scheme', SCHEME_NAME,
'-configuration', configuration,
'-allowProvisioningUpdates',
@@ -55,7 +56,7 @@ def main(args):
parsed_args = parser.parse_args(args)
build_ios_test(build_dir=parsed_args.build_dir,
configuration=parsed_args.configuration)
configuration=parsed_args.configuration)
return 0
+61 -10
View File
@@ -11,17 +11,22 @@
import argparse
import glob
import json
import logging
import os
import pathlib
import plistlib
import re
import sys
import time
TEST_TARGET_NAME = 'TestLauncherTarget'
TEST_STARTED_STRING = 'TEST STARTED'
TEST_SUCCESS_STRING = 'TEST SUCCEEDED'
TEST_FAILURE_STRING = 'TEST FAILED'
TEST_RUN_SEARCH_PATTERN=re.compile(r'^\[\s*([a-zA-Z0-9]*\s*)\]\s*([a-zA-Z0-9\.\s]*)(\(.*\))')
# Resolve the common python module
ROOT_DEV_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..'))
if ROOT_DEV_PATH not in sys.path:
@@ -29,7 +34,7 @@ if ROOT_DEV_PATH not in sys.path:
from cmake.Tools import common
def launch_ios_test(build_dir, target_dev_name, test_target, timeout_secs, test_filter, xctestrun_file):
def launch_ios_test(build_dir, target_dev_name, test_target, timeout_secs, test_filter, xctestrun_file, test_report_json_file):
build_path = pathlib.Path(build_dir) if os.path.isabs(build_dir) else pathlib.Path(ROOT_DEV_PATH) / build_dir
if not build_path.is_dir():
@@ -57,6 +62,11 @@ def launch_ios_test(build_dir, target_dev_name, test_target, timeout_secs, test_
test_targets = common.get_validated_test_modules(test_modules=test_target, build_dir_path=build_path)
test_run_contents = []
test_case_successes = []
test_case_fails = []
crashed_test_modules = []
test_case_count = 0
with open(test_run_file, 'rb') as fp:
test_run_contents = plistlib.load(fp)
@@ -74,7 +84,7 @@ def launch_ios_test(build_dir, target_dev_name, test_target, timeout_secs, test_
with open(test_run_file, 'wb') as fp:
plistlib.dump(test_run_contents, fp, sort_keys=False)
xcode_args = ['test-without-building', '-xctestrun', test_run_file, '-destination', f'platform=iOS,name={target_dev_name}']
xcode_args = ['test-without-building', '-xctestrun', test_run_file, '-destination', f'platform=iOS,name={target_dev_name}', '-allowProvisioningUpdates', '-allowProvisioningDeviceRegistration']
if timeout_secs < 0:
xcode_args.extend(['-test-timeouts-enabled', 'NO'])
else:
@@ -89,6 +99,22 @@ def launch_ios_test(build_dir, target_dev_name, test_target, timeout_secs, test_
test_output = False
while xcode_out.poll() is None:
line = xcode_out.stdout.readline()
if line.startswith('** TEST EXECUTE FAILED **'):
# The test run crashed, so we need to track the failed test module
crashed_test_modules.append(target)
else:
matched = TEST_RUN_SEARCH_PATTERN.search(line)
if matched:
test_case_action = matched.group(1).strip()
test_case_name = matched.group(2).strip()
test_case_elapsed = matched.group(3).strip() if len(matched.groups()) > 2 else ''
if test_case_action == 'OK':
test_case_successes.append(f'{test_case_name} {test_case_elapsed}')
test_case_count += 1
elif test_case_action == 'FAILED' and 'listed below:' not in test_case_name:
test_case_fails.append(f'{test_case_name} {test_case_elapsed}')
test_case_count += 1
if TEST_STARTED_STRING in line:
test_output = True
@@ -99,11 +125,32 @@ def launch_ios_test(build_dir, target_dev_name, test_target, timeout_secs, test_
test_output = False
if test_output:
print(line)
print(line, end='')
else:
logging.debug(line)
print(f'{target} Succeeded') if test_success else print(f'{target} Failed')
logging.info(f'{target} Succeeded') if test_success else print(f'{target} Failed')
if test_report_json_file:
test_report_json_path = pathlib.Path(test_report_json_file)
test_timestamp = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.localtime())
result_dict = {
'index': 'ly_platforms.test',
'payload': {
'Git Success': True,
'Build Success': True,
'Passed': test_case_successes,
'Failed': test_case_fails,
'CrashedModules': crashed_test_modules,
'Count': test_case_count
},
'pipeline': 'filebeat',
'timestamp': test_timestamp
}
result_json = json.dumps(result_dict, indent=4)
test_report_json_path.write_text(result_json, encoding='UTF-8', errors='ignore')
logging.info(f'MARS report saved to {test_report_json_path}')
logging.info(f"MARS report:\n{result_json}")
def main(args):
@@ -140,20 +187,24 @@ def main(args):
help='Enable debug logging',
action='store_true')
parser.add_argument('--test-report-json',
help='The optional path to the test report json file that will be generated for MARS reporting',
default=None)
parsed_args = parser.parse_args(args)
logging.basicConfig(format='%(levelname)s: %(message)s',
level=logging.DEBUG if parsed_args.debug else logging.INFO)
result = launch_ios_test(build_dir=parsed_args.build_dir,
target_dev_name=parsed_args.device_name,
test_target=parsed_args.test_module,
timeout_secs=int(parsed_args.timeout),
test_filter=parsed_args.test_filter,
xctestrun_file=parsed_args.xctestrun_file)
target_dev_name=parsed_args.device_name,
test_target=parsed_args.test_module,
timeout_secs=int(parsed_args.timeout),
test_filter=parsed_args.test_filter,
xctestrun_file=parsed_args.xctestrun_file,
test_report_json_file=parsed_args.test_report_json)
return 0 if result else 1
if __name__ == '__main__':
try:
+13 -5
View File
@@ -274,6 +274,8 @@ def verify_tool(override_tool_path, tool_name, tool_filename, argument_name, too
:return: Tuple of the resolved tool version and the resolved override tool path if provided
"""
tool_source = tool_name
try:
# Use either the provided gradle override or the gradle in the path environment
if override_tool_path:
@@ -306,18 +308,17 @@ def verify_tool(override_tool_path, tool_name, tool_filename, argument_name, too
tool_desc = f"{tool_name} path provided in the command line argument '{argument_name}={override_tool_path}' "
else:
resolved_override_tool_path = None
tool_source = tool_name
tool_desc = f"installed {tool_name} in the system path"
# Extract the version and verify
version_output = subprocess.check_output([tool_source, tool_version_argument],
shell=True).decode(DEFAULT_TEXT_READ_ENCODING,
ENCODING_ERROR_HANDLINGS)
shell=True,
stderr=subprocess.PIPE).decode(DEFAULT_TEXT_READ_ENCODING,
ENCODING_ERROR_HANDLINGS)
version_match = tool_version_regex.search(version_output)
if not version_match:
raise RuntimeError()
# Since we are doing a compare, strip out any non-numeric and non . character from the version otherwise we will get a TypeError on the LooseVersion comparison
result_version_str = re.sub(r"[^\.0-9]", "", str(version_match.group(1)).strip())
result_version = LooseVersion(result_version_str)
@@ -331,7 +332,14 @@ def verify_tool(override_tool_path, tool_name, tool_filename, argument_name, too
return result_version, resolved_override_tool_path
except (CalledProcessError, WindowsError, RuntimeError) as e:
except CalledProcessError as e:
error_msg = e.output.decode(DEFAULT_TEXT_READ_ENCODING,
ENCODING_ERROR_HANDLINGS)
raise LmbrCmdError(f"{tool_name} cannot be resolved or there was a problem determining its version number. "
f"Either make sure its in the system path environment or a valid path is passed in "
f"through the {argument_name} argument.\n{error_msg}",
ERROR_CODE_ERROR_NOT_SUPPORTED)
except (WindowsError, RuntimeError) as e:
logging.error(f"Call to '{tool_source}' resulted in error: {e}")
raise LmbrCmdError(f"{tool_name} cannot be resolved or there was a problem determining its version number. "
f"Either make sure its in the system path environment or a valid path is passed in "