Files
o3de/cmake/Platform/Linux/Install_linux.cmake
T
amzn-phist f0fc906510 Misc fixes for Linux SDK (#3764)
* Fix rpath for lrelease binary

This fixes the rpath for lrelease which is used to compile the qt translation file.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Fix a LocalFileIO path casing issue

LocalFileIO was lowercasing the entire path after substituting aliases.
This caused files to not be found and many failures in AP.
Fixed to only lowercase the trailing relative path after the substitution.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Removed a message line

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
2021-09-01 08:23:47 -07:00

29 lines
1.3 KiB
CMake

#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
#! ly_install_code_function_override: Linux-specific copy function to handle RPATH fixes
set(ly_copy_template [[
function(ly_copy source_file target_directory)
file(COPY "${source_file}" DESTINATION "${target_directory}" FILE_PERMISSIONS @LY_COPY_PERMISSIONS@ FOLLOW_SYMLINK_CHAIN)
get_filename_component(target_filename_ext "${source_file}" LAST_EXT)
if("${source_file}" MATCHES "qt/plugins" AND "${target_filename_ext}" STREQUAL ".so")
get_filename_component(target_filename "${source_file}" NAME)
file(RPATH_CHANGE FILE "${target_directory}/${target_filename}" OLD_RPATH "\$ORIGIN/../../lib" NEW_RPATH "\$ORIGIN/..")
elseif("${source_file}" MATCHES "lrelease")
get_filename_component(target_filename "${source_file}" NAME)
file(RPATH_CHANGE FILE "${target_directory}/${target_filename}" OLD_RPATH "\$ORIGIN/../lib" NEW_RPATH "\$ORIGIN")
endif()
endfunction()]])
function(ly_install_code_function_override)
string(CONFIGURE "${ly_copy_template}" ly_copy_function_linux @ONLY)
install(CODE "${ly_copy_function_linux}")
endfunction()
include(cmake/Platform/Common/Install_common.cmake)