1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #
- # 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
- #
- #
- # PlatformTools enables to deal with tools that perform functionality cross-platform
- # For example, the AssetProcessor can generate assets for other platforms. For the
- # asset processor to be able to provide that, it requires to have the funcionality enabled.
- # This cmake file provides an entry point to discover variables that will allow to enable
- # the different platforms and variables that can be passed to enable those platforms to the
- # code.
- # Discover all the platforms that are available
- set(LY_PAL_TOOLS_DEFINES)
- file(GLOB pal_tools_files "cmake/Platform/*/PALTools_*.cmake")
- foreach(pal_tools_file ${pal_tools_files})
- include(${pal_tools_file})
- endforeach()
- file(GLOB pal_restricted_tools_files "restricted/*/cmake/PALTools_*.cmake")
- foreach(pal_restricted_tools_file ${pal_restricted_tools_files})
- include(${pal_restricted_tools_file})
- endforeach()
- # Set the AZ_TOOLS_EXPAND_FOR_RESTRICTED_PLATFORMS macro using the aggregate of all the LY_PAL_TOOLS_RESTRICTED_PLATFORM_DEFINES variable
- if(LY_PAL_TOOLS_RESTRICTED_PLATFORM_DEFINES)
- list(JOIN LY_PAL_TOOLS_RESTRICTED_PLATFORM_DEFINES " " RESTRICTED_PLATFORM_DEFINES_MACRO)
- list(APPEND LY_PAL_TOOLS_DEFINES "AZ_TOOLS_EXPAND_FOR_RESTRICTED_PLATFORMS=${RESTRICTED_PLATFORM_DEFINES_MACRO}")
- endif()
- ly_set(LY_PAL_TOOLS_DEFINES ${LY_PAL_TOOLS_DEFINES})
- # Include files to the CMakeFiles project
- foreach(enabled_platform ${LY_PAL_TOOLS_ENABLED})
- string(TOLOWER ${enabled_platform} enabled_platform_lowercase)
- o3de_pal_dir(pal_dir ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Platform/${enabled_platform})
- ly_include_cmake_file_list(${pal_dir}/pal_tools_${enabled_platform_lowercase}_files.cmake)
- endforeach()
- function(ly_get_pal_tool_dirs out_list pal_path)
- set(pal_paths "")
- foreach(platform ${LY_PAL_TOOLS_ENABLED})
- o3d_pal_dir(path ${pal_path}/${platform} ${O3DE_ENGINE_RESTRICTED_PATH} ${LY_ROOT_FOLDER})
- list(APPEND pal_paths ${path})
- endforeach()
- set(${out_list} ${pal_paths} PARENT_SCOPE)
- endfunction()
|