diff --git a/cmake/3rdParty.cmake b/cmake/3rdParty.cmake index 0142a6a4b6..310e341305 100644 --- a/cmake/3rdParty.cmake +++ b/cmake/3rdParty.cmake @@ -122,7 +122,13 @@ function(ly_add_external_target) set(BASE_PATH "${LY_3RDPARTY_PATH}/${ly_add_external_target_3RDPARTY_DIRECTORY}") else() - ly_install_external_target(${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY}) + # only install external 3rdParty that are within the source tree + cmake_path(RELATIVE_PATH ly_add_external_target_3RDPARTY_ROOT_DIRECTORY + BASE_DIRECTORY ${LY_ROOT_FOLDER} + OUTPUT_VARIABLE relative_path) + if(relative_path AND NOT relative_path MATCHES "^../") + ly_install_external_target(${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY}) + endif() set(BASE_PATH "${ly_add_external_target_3RDPARTY_ROOT_DIRECTORY}") endif() @@ -309,7 +315,7 @@ function(ly_install_external_target 3RDPARTY_ROOT_DIRECTORY) ly_install_files(FILES ${CMAKE_CURRENT_LIST_FILE} DESTINATION cmake/3rdParty ) - ly_install_directory(DIRECTORIES ${3RDPARTY_ROOT_DIRECTORY}) + ly_install_directory(DIRECTORIES "${3RDPARTY_ROOT_DIRECTORY}") endfunction()