|
|
|
|
@ -477,26 +477,52 @@ function(ly_setup_cmake_install)
|
|
|
|
|
COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Findo3de.cmake file: we generate a different Findo3de.camke file than the one we have in cmake. This one is going to expose all
|
|
|
|
|
# targets that are pre-built
|
|
|
|
|
unset(FIND_PACKAGES_PLACEHOLDER)
|
|
|
|
|
# Findo3de.cmake file: we generate a different Findo3de.cmake file than the one we have in the source dir.
|
|
|
|
|
configure_file(${LY_ROOT_FOLDER}/cmake/install/Findo3de.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake @ONLY)
|
|
|
|
|
ly_install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake"
|
|
|
|
|
DESTINATION cmake
|
|
|
|
|
COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Add to the FIND_PACKAGES_PLACEHOLDER all directories in which ly_add_target were called in
|
|
|
|
|
unset(find_subdirectories)
|
|
|
|
|
# Add to find_subdirectories all directories in which ly_add_target were called in
|
|
|
|
|
get_property(all_subdirectories GLOBAL PROPERTY LY_ALL_TARGET_DIRECTORIES)
|
|
|
|
|
foreach(target_subdirectory IN LISTS all_subdirectories)
|
|
|
|
|
cmake_path(RELATIVE_PATH target_subdirectory BASE_DIRECTORY ${LY_ROOT_FOLDER} OUTPUT_VARIABLE relative_target_subdirectory)
|
|
|
|
|
string(APPEND FIND_PACKAGES_PLACEHOLDER " add_subdirectory(${relative_target_subdirectory})\n")
|
|
|
|
|
string(APPEND find_subdirectories "add_subdirectory(${relative_target_subdirectory})\n")
|
|
|
|
|
endforeach()
|
|
|
|
|
set(permutation_find_subdirectories ${CMAKE_CURRENT_BINARY_DIR}/cmake/Platform/${PAL_PLATFORM_NAME}/${LY_BUILD_PERMUTATION}/o3de_subdirectories_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
|
|
|
|
file(GENERATE OUTPUT ${permutation_find_subdirectories}
|
|
|
|
|
CONTENT
|
|
|
|
|
"# Generated by O3DE install\n
|
|
|
|
|
${find_subdirectories}
|
|
|
|
|
"
|
|
|
|
|
)
|
|
|
|
|
ly_install(FILES "${permutation_find_subdirectories}"
|
|
|
|
|
DESTINATION cmake/Platform/${PAL_PLATFORM_NAME}/${LY_BUILD_PERMUTATION}
|
|
|
|
|
COMPONENT ${LY_INSTALL_PERMUTATION_COMPONENT}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
configure_file(${LY_ROOT_FOLDER}/cmake/install/Findo3de.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake @ONLY)
|
|
|
|
|
ly_install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake"
|
|
|
|
|
DESTINATION 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
|
|
|
|
|
"# Generated by O3DE install\n
|
|
|
|
|
if(LY_MONOLITHIC_GAME)
|
|
|
|
|
include(cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/Monolithic/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
|
|
|
|
else()
|
|
|
|
|
include(cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/Default/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
|
|
|
|
endif()
|
|
|
|
|
"
|
|
|
|
|
)
|
|
|
|
|
ly_install(FILES "${pal_builtin_file}"
|
|
|
|
|
DESTINATION cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}
|
|
|
|
|
COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# BuiltInPackage_<platform>.cmake: since associations could happen in any cmake file across the engine. We collect
|
|
|
|
|
# all the associations in ly_associate_package and then generate them into BuiltInPackages_<platform>.cmake. This
|
|
|
|
|
# will consolidate all associations in one file
|
|
|
|
|
# ${LY_BUILD_PERMUTATION}/BuiltInPackage_<platform>.cmake: since associations could happen in any cmake file across the engine. We collect
|
|
|
|
|
# all the associations in ly_associate_package and then generate them into BuiltInPackages_<platform>.cmake. This will consolidate all
|
|
|
|
|
# associations in one file
|
|
|
|
|
# Associations are sensitive to platform and build permutation, so we make different files for each.
|
|
|
|
|
get_property(all_package_names GLOBAL PROPERTY LY_PACKAGE_NAMES)
|
|
|
|
|
list(REMOVE_DUPLICATES all_package_names)
|
|
|
|
|
set(builtinpackages "# Generated by O3DE install\n\n")
|
|
|
|
|
@ -507,13 +533,13 @@ function(ly_setup_cmake_install)
|
|
|
|
|
string(APPEND builtinpackages "ly_associate_package(PACKAGE_NAME ${package_name} TARGETS ${targets} PACKAGE_HASH ${package_hash})\n")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
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}
|
|
|
|
|
set(permutation_builtin_file ${CMAKE_CURRENT_BINARY_DIR}/cmake/Platform/${PAL_PLATFORM_NAME}/${LY_BUILD_PERMUTATION}/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
|
|
|
|
file(GENERATE OUTPUT ${permutation_builtin_file}
|
|
|
|
|
CONTENT ${builtinpackages}
|
|
|
|
|
)
|
|
|
|
|
ly_install(FILES "${pal_builtin_file}"
|
|
|
|
|
DESTINATION cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}
|
|
|
|
|
COMPONENT ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
|
|
|
|
|
ly_install(FILES "${permutation_builtin_file}"
|
|
|
|
|
DESTINATION cmake/Platform/${PAL_PLATFORM_NAME}/${LY_BUILD_PERMUTATION}
|
|
|
|
|
COMPONENT ${LY_INSTALL_PERMUTATION_COMPONENT}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
endfunction()
|
|
|
|
|
|