[main] windows installer jenkins scripts + misc. fixes (#1111)
Created new "windows_installer" Jenkins job along with associated scripts Updated setup script to include required installer tools Replaced LY_DEFAULT_INSTALL_COMPONENT with built-in CMAKE_INSTALL_DEFAULT_COMPONENT_NAME Updated stale references to ly_install_target_COMPONENT with a get_prop call Added some validation to the CMake version included in the installer Updated installer icon/logo images Made some small fixes requested from preview review
This commit is contained in:
@@ -291,7 +291,6 @@ function(ly_install_external_target 3RDPARTY_ROOT_DIRECTORY)
|
||||
# Install the Find file to our <install_location>/cmake directory
|
||||
install(FILES ${CMAKE_CURRENT_LIST_FILE}
|
||||
DESTINATION cmake
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# We only want to install external targets that are part of our source tree
|
||||
@@ -302,7 +301,6 @@ function(ly_install_external_target 3RDPARTY_ROOT_DIRECTORY)
|
||||
get_filename_component(rel_path ${rel_path} DIRECTORY)
|
||||
install(DIRECTORY ${3RDPARTY_ROOT_DIRECTORY}
|
||||
DESTINATION ${rel_path}
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -51,6 +51,12 @@ if(NOT CPACK_GENERATOR)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(${CPACK_DESIRED_CMAKE_VERSION} VERSION_LESS ${CMAKE_MINIMUM_REQUIRED_VERSION})
|
||||
message(FATAL_ERROR
|
||||
"The desired version of CMake to be included in the package is "
|
||||
"below the minimum required version of CMake to run")
|
||||
endif()
|
||||
|
||||
# pull down the desired copy of CMake so it can be included in the package
|
||||
if(NOT (CPACK_CMAKE_PACKAGE_FILE AND CPACK_CMAKE_PACKAGE_HASH))
|
||||
message(FATAL_ERROR
|
||||
@@ -67,7 +73,7 @@ list(GET _version_componets 1 _minor_version)
|
||||
set(_url_version_tag "v${_major_version}.${_minor_version}")
|
||||
set(_package_url "https://cmake.org/files/${_url_version_tag}/${CPACK_CMAKE_PACKAGE_FILE}")
|
||||
|
||||
message(STATUS "Ensuring CMake ${CPACK_DESIRED_CMAKE_VERSION} is available for packaging...")
|
||||
message(STATUS "Downloading CMake ${CPACK_DESIRED_CMAKE_VERSION} for packaging...")
|
||||
download_file(
|
||||
URL ${_package_url}
|
||||
TARGET_FILE ${_cmake_package_dest}
|
||||
@@ -77,7 +83,7 @@ download_file(
|
||||
list(GET _results 0 _status_code)
|
||||
|
||||
if (${_status_code} EQUAL 0 AND EXISTS ${_cmake_package_dest})
|
||||
message(STATUS "-> Package found and verified!")
|
||||
message(STATUS "Package found and verified!")
|
||||
else()
|
||||
file(REMOVE ${_cmake_package_dest})
|
||||
list(REMOVE_AT _results 0)
|
||||
@@ -95,7 +101,6 @@ endif()
|
||||
|
||||
install(FILES ${_cmake_package_dest}
|
||||
DESTINATION ./Tools/Redistributables/CMake
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# IMPORTANT: required to be included AFTER setting all property overrides
|
||||
@@ -135,7 +140,7 @@ endfunction()
|
||||
|
||||
# configure ALL components here
|
||||
ly_configure_cpack_component(
|
||||
${LY_DEFAULT_INSTALL_COMPONENT} REQUIRED
|
||||
${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME} REQUIRED
|
||||
DISPLAY_NAME "${PROJECT_NAME} Core"
|
||||
DESCRIPTION "${PROJECT_NAME} Headers, Libraries and Tools"
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
set(CMAKE_INSTALL_MESSAGE NEVER) # Simplify messages to reduce output noise
|
||||
|
||||
ly_set(LY_DEFAULT_INSTALL_COMPONENT Core)
|
||||
ly_set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME Core)
|
||||
|
||||
file(RELATIVE_PATH runtime_output_directory ${CMAKE_BINARY_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
file(RELATIVE_PATH library_output_directory ${CMAKE_BINARY_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||
@@ -27,6 +27,9 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME)
|
||||
# De-alias target name
|
||||
ly_de_alias_target(${ALIAS_TARGET_NAME} TARGET_NAME)
|
||||
|
||||
# get the component ID. if the property isn't set for the target, it will auto fallback to use CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
|
||||
get_property(install_component TARGET ${TARGET_NAME} PROPERTY INSTALL_COMPONENT)
|
||||
|
||||
# All include directories marked PUBLIC or INTERFACE will be installed. We dont use PUBLIC_HEADER because in order to do that
|
||||
# we need to set the PUBLIC_HEADER property of the target for all the headers we are exporting. After doing that, installing the
|
||||
# headers end up in one folder instead of duplicating the folder structure of the public/interface include directory.
|
||||
@@ -41,7 +44,7 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME)
|
||||
unset(current_public_headers)
|
||||
install(DIRECTORY ${include_directory}
|
||||
DESTINATION ${include_location}/${target_source_dir}
|
||||
COMPONENT ${ly_install_target_COMPONENT}
|
||||
COMPONENT ${install_component}
|
||||
FILES_MATCHING
|
||||
PATTERN *.h
|
||||
PATTERN *.hpp
|
||||
@@ -68,13 +71,13 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME)
|
||||
TARGETS ${TARGET_NAME}
|
||||
ARCHIVE
|
||||
DESTINATION ${archive_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>
|
||||
COMPONENT ${ly_install_target_COMPONENT}
|
||||
COMPONENT ${install_component}
|
||||
LIBRARY
|
||||
DESTINATION ${library_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/${target_library_output_subdirectory}
|
||||
COMPONENT ${ly_install_target_COMPONENT}
|
||||
COMPONENT ${install_component}
|
||||
RUNTIME
|
||||
DESTINATION ${runtime_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>/${target_runtime_output_subdirectory}
|
||||
COMPONENT ${ly_install_target_COMPONENT}
|
||||
COMPONENT ${install_component}
|
||||
)
|
||||
|
||||
# CMakeLists.txt file
|
||||
@@ -182,7 +185,7 @@ set_property(TARGET ${TARGET_NAME}
|
||||
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/install/${target_source_dir}/${NAME_PLACEHOLDER}_$<CONFIG>.cmake" CONTENT "${target_file_contents}")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/install/${target_source_dir}/${NAME_PLACEHOLDER}_$<CONFIG>.cmake"
|
||||
DESTINATION ${target_source_dir}
|
||||
COMPONENT ${ly_install_target_COMPONENT}
|
||||
COMPONENT ${install_component}
|
||||
)
|
||||
|
||||
# Since a CMakeLists.txt could contain multiple targets, we generate it in a folder per target
|
||||
@@ -239,9 +242,13 @@ function(ly_setup_subdirectory absolute_target_source_dir)
|
||||
"\n"
|
||||
"${CREATE_ALIASES_PLACEHOLDER}"
|
||||
)
|
||||
|
||||
# get the component ID. if the property isn't set for the directory, it will auto fallback to use CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
|
||||
get_property(install_component DIRECTORY ${absolute_target_source_dir} PROPERTY INSTALL_COMPONENT)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/install/${target_source_dir}/CMakeLists.txt"
|
||||
DESTINATION ${target_source_dir}
|
||||
COMPONENT ${ly_install_target_COMPONENT}
|
||||
COMPONENT ${install_component}
|
||||
)
|
||||
|
||||
endfunction()
|
||||
@@ -262,7 +269,6 @@ function(ly_setup_cmake_install)
|
||||
|
||||
install(DIRECTORY "${LY_ROOT_FOLDER}/cmake"
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
PATTERN "__pycache__" EXCLUDE
|
||||
REGEX "Findo3de.cmake" EXCLUDE
|
||||
REGEX "Platform\/.*\/BuiltInPackages_.*\.cmake" EXCLUDE
|
||||
@@ -290,7 +296,6 @@ function(ly_setup_cmake_install)
|
||||
"${LY_ROOT_FOLDER}/CMakeLists.txt"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake/engine.json"
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# Collect all Find files that were added with ly_add_external_target_path
|
||||
@@ -303,7 +308,6 @@ function(ly_setup_cmake_install)
|
||||
endforeach()
|
||||
install(FILES ${additional_find_files}
|
||||
DESTINATION cmake/3rdParty
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# Findo3de.cmake file: we generate a different Findo3de.camke file than the one we have in cmake. This one is going to expose all
|
||||
@@ -320,7 +324,6 @@ function(ly_setup_cmake_install)
|
||||
configure_file(${LY_ROOT_FOLDER}/cmake/install/Findo3de.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake @ONLY)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake"
|
||||
DESTINATION cmake
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# BuiltInPackage_<platform>.cmake: since associations could happen in any cmake file across the engine. We collect
|
||||
@@ -340,7 +343,6 @@ function(ly_setup_cmake_install)
|
||||
)
|
||||
install(FILES "${pal_builtin_file}"
|
||||
DESTINATION cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
endfunction()
|
||||
@@ -362,7 +364,6 @@ endfunction()
|
||||
function(ly_copy source_file target_directory)
|
||||
file(COPY \"\${source_file}\" DESTINATION \"\${target_directory}\" FILE_PERMISSIONS ${LY_COPY_PERMISSIONS})
|
||||
endfunction()"
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
unset(runtime_commands)
|
||||
@@ -408,7 +409,6 @@ endfunction()"
|
||||
list(REMOVE_DUPLICATES runtime_commands)
|
||||
list(JOIN runtime_commands " " runtime_commands_str) # the spaces are just to see the right identation in the cmake_install.cmake file
|
||||
install(CODE "${runtime_commands_str}"
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
endfunction()
|
||||
@@ -427,7 +427,6 @@ function(ly_setup_others)
|
||||
|
||||
install(DIRECTORY "${LY_ROOT_FOLDER}/${dir}"
|
||||
DESTINATION ${install_path}
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
PATTERN "__pycache__" EXCLUDE
|
||||
)
|
||||
|
||||
@@ -438,14 +437,12 @@ function(ly_setup_others)
|
||||
install(FILES
|
||||
${o3de_scripts}
|
||||
DESTINATION ./scripts
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
install(DIRECTORY
|
||||
${LY_ROOT_FOLDER}/scripts/bundler
|
||||
${LY_ROOT_FOLDER}/scripts/o3de
|
||||
DESTINATION ./scripts
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
PATTERN "__pycache__" EXCLUDE
|
||||
PATTERN "CMakeLists.txt" EXCLUDE
|
||||
PATTERN "tests" EXCLUDE
|
||||
@@ -453,7 +450,6 @@ function(ly_setup_others)
|
||||
|
||||
install(DIRECTORY "${LY_ROOT_FOLDER}/python"
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
REGEX "downloaded_packages" EXCLUDE
|
||||
REGEX "runtime" EXCLUDE
|
||||
)
|
||||
@@ -462,19 +458,16 @@ function(ly_setup_others)
|
||||
install(DIRECTORY
|
||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>/Registry
|
||||
DESTINATION ./${runtime_output_directory}/${PAL_PLATFORM_NAME}/$<CONFIG>
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
install(DIRECTORY
|
||||
${LY_ROOT_FOLDER}/Registry
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# Engine Source Assets
|
||||
install(DIRECTORY
|
||||
${LY_ROOT_FOLDER}/Assets
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# Gem Source Assets and Registry
|
||||
@@ -494,7 +487,6 @@ function(ly_setup_others)
|
||||
# the "Assets" folder from being copied underneath the <gem-root>/Assets folder
|
||||
install(DIRECTORY ${gem_abs_assets_path}
|
||||
DESTINATION ${gem_assets_path}
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -510,7 +502,6 @@ function(ly_setup_others)
|
||||
get_filename_component(gem_relative_path ${gem_json_path} DIRECTORY)
|
||||
install(FILES ${gem_json_path}
|
||||
DESTINATION ${gem_relative_path}
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
endforeach()
|
||||
|
||||
@@ -518,14 +509,12 @@ function(ly_setup_others)
|
||||
install(DIRECTORY
|
||||
${LY_ROOT_FOLDER}/Gems/Atom/Asset/ImageProcessingAtom/Config
|
||||
DESTINATION Gems/Atom/Asset/ImageProcessingAtom
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# Templates
|
||||
install(DIRECTORY
|
||||
${LY_ROOT_FOLDER}/Templates
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
# Misc
|
||||
@@ -534,7 +523,6 @@ function(ly_setup_others)
|
||||
${LY_ROOT_FOLDER}/LICENSE.txt
|
||||
${LY_ROOT_FOLDER}/README.md
|
||||
DESTINATION .
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
endfunction()
|
||||
@@ -548,15 +536,12 @@ function(ly_setup_target_generator)
|
||||
${LY_ROOT_FOLDER}/Code/LauncherUnified/LauncherProject.cpp
|
||||
${LY_ROOT_FOLDER}/Code/LauncherUnified/StaticModules.in
|
||||
DESTINATION LauncherGenerator
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
install(DIRECTORY ${LY_ROOT_FOLDER}/Code/LauncherUnified/Platform
|
||||
DESTINATION LauncherGenerator
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
install(FILES ${LY_ROOT_FOLDER}/Code/LauncherUnified/FindLauncherGenerator.cmake
|
||||
DESTINATION cmake
|
||||
COMPONENT ${LY_DEFAULT_INSTALL_COMPONENT}
|
||||
)
|
||||
|
||||
endfunction()
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c042fce57915fc749abc7b37de765fd697c3c4d7de045a3d44805aa0ce29901a
|
||||
size 107016
|
||||
oid sha256:d717f77fe01f45df934a61bbc215e5322447d21e16f3cebcf2a02f148178f266
|
||||
size 106449
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ac0348c906c91de864cba91c0231b4794d8a00fafa630d13f2232351b90aa59b
|
||||
oid sha256:8c804a6be619b9f35cad46eab30b94def7a4ac7142a92cb3f7c78a659381d834
|
||||
size 11074
|
||||
|
||||
@@ -9,24 +9,18 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
set(LY_WIX_PATH "" CACHE PATH "Path to the WiX install path")
|
||||
|
||||
if(LY_WIX_PATH)
|
||||
file(TO_CMAKE_PATH ${LY_QTIFW_PATH} CPACK_WIX_ROOT)
|
||||
elseif(DEFINED ENV{WIX})
|
||||
file(TO_CMAKE_PATH $ENV{WIX} CPACK_WIX_ROOT)
|
||||
endif()
|
||||
set(CPACK_WIX_ROOT "" CACHE PATH "Path to the WiX install path")
|
||||
|
||||
if(CPACK_WIX_ROOT)
|
||||
if(NOT EXISTS ${CPACK_WIX_ROOT})
|
||||
message(FATAL_ERROR "Invalid path supplied for LY_WIX_PATH argument or WIX environment variable")
|
||||
message(FATAL_ERROR "Invalid path supplied for CPACK_WIX_ROOT argument")
|
||||
endif()
|
||||
else()
|
||||
# early out as no path to WiX has been supplied effectively disabling support
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(CPACK_GENERATOR "WIX")
|
||||
set(CPACK_GENERATOR WIX)
|
||||
|
||||
set(_cmake_package_name "cmake-${CPACK_DESIRED_CMAKE_VERSION}-windows-x86_64")
|
||||
set(CPACK_CMAKE_PACKAGE_FILE "${_cmake_package_name}.zip")
|
||||
|
||||
@@ -306,6 +306,20 @@
|
||||
"CMAKE_NATIVE_BUILD_ARGS": "/m /nologo"
|
||||
}
|
||||
},
|
||||
"windows_installer": {
|
||||
"TAGS": [
|
||||
"package"
|
||||
],
|
||||
"COMMAND": "build_installer_windows.cmd",
|
||||
"PARAMETERS": {
|
||||
"CONFIGURATION": "profile",
|
||||
"OUTPUT_DIRECTORY": "build\\windows_vs2019",
|
||||
"CMAKE_OPTIONS": "-G \"Visual Studio 16 2019\" -DCMAKE_SYSTEM_VERSION=10.0 -DLY_UNITY_BUILD=TRUE -DLY_DISABLE_TEST_MODULES=TRUE -DCPACK_WIX_ROOT=\"!WIX!\"",
|
||||
"CMAKE_LY_PROJECTS": "",
|
||||
"CMAKE_TARGET": "ALL_BUILD",
|
||||
"CMAKE_NATIVE_BUILD_ARGS": "/m /nologo"
|
||||
}
|
||||
},
|
||||
"project_enginesource_profile_vs2019": {
|
||||
"TAGS": [
|
||||
"project"
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
@ECHO OFF
|
||||
REM
|
||||
REM All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
REM its licensors.
|
||||
REM
|
||||
REM For complete copyright and license terms please see the LICENSE at the root of this
|
||||
REM distribution (the "License"). All use of this software is governed by the License,
|
||||
REM or, if provided, by the license below or the license accompanying this file. Do not
|
||||
REM remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM
|
||||
|
||||
CALL "%~dp0build_windows.cmd"
|
||||
IF NOT %ERRORLEVEL%==0 GOTO :error
|
||||
|
||||
CALL "%~dp0installer_windows.cmd"
|
||||
IF NOT %ERRORLEVEL%==0 GOTO :error
|
||||
|
||||
EXIT /b 0
|
||||
|
||||
:error
|
||||
EXIT /b 1
|
||||
@@ -0,0 +1,64 @@
|
||||
@ECHO OFF
|
||||
REM
|
||||
REM All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
REM its licensors.
|
||||
REM
|
||||
REM For complete copyright and license terms please see the LICENSE at the root of this
|
||||
REM distribution (the "License"). All use of this software is governed by the License,
|
||||
REM or, if provided, by the license below or the license accompanying this file. Do not
|
||||
REM remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM
|
||||
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
CALL %~dp0env_windows.cmd
|
||||
|
||||
IF NOT EXIST %OUTPUT_DIRECTORY% (
|
||||
ECHO [ci_build] Error: $OUTPUT_DIRECTORY was not found
|
||||
GOTO :error
|
||||
)
|
||||
PUSHD %OUTPUT_DIRECTORY%
|
||||
|
||||
REM Override the temporary directory used by wix to the workspace
|
||||
SET "WIX_TEMP=!WORKSPACE!/temp/wix"
|
||||
IF NOT EXIST "%WIX_TEMP%" (
|
||||
MKDIR "%WIX_TEMP%"
|
||||
)
|
||||
|
||||
REM Make sure we are using the CMake version of CPack and not the one that comes with chocolatey
|
||||
SET CPACK_PATH=
|
||||
IF "%LY_CMAKE_PATH%"=="" (
|
||||
REM quote the paths from 'where' so we can properly tokenize ones in the list with spaces
|
||||
FOR /F delims^=^"^ tokens^=1 %%i in ('where /F cpack') DO (
|
||||
REM The cpack in chocolatey expects a number supplied with --version so it will error
|
||||
"%%i" --version > NUL
|
||||
IF !ERRORLEVEL!==0 (
|
||||
SET "CPACK_PATH=%%i"
|
||||
GOTO :run_cpack
|
||||
)
|
||||
)
|
||||
) ELSE (
|
||||
SET "CPACK_PATH=%LY_CMAKE_PATH%\cpack.exe"
|
||||
)
|
||||
|
||||
:run_cpack
|
||||
ECHO [ci_build] "!CPACK_PATH!" --version
|
||||
"!CPACK_PATH!" --version
|
||||
IF ERRORLEVEL 1 (
|
||||
ECHO [ci_build] CPack not found!
|
||||
GOTO :popd_error
|
||||
)
|
||||
|
||||
ECHO [ci_build] "!CPACK_PATH!" -C %CONFIGURATION%
|
||||
"!CPACK_PATH!" -C %CONFIGURATION%
|
||||
IF NOT %ERRORLEVEL%==0 GOTO :popd_error
|
||||
|
||||
POPD
|
||||
EXIT /b 0
|
||||
|
||||
:popd_error
|
||||
POPD
|
||||
|
||||
:error
|
||||
EXIT /b 1
|
||||
@@ -29,3 +29,6 @@ choco install corretto8jdk -y --ia INSTALLDIR="c:\jdk8" # Custom directory to ha
|
||||
|
||||
# Install CMake
|
||||
choco install cmake -y --installargs 'ADD_CMAKE_TO_PATH=System'
|
||||
|
||||
# Install Windows Installer XML toolkit (WiX)
|
||||
choco install wixtoolset -y
|
||||
|
||||
Reference in New Issue
Block a user