123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #
- # 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
- #
- #
- get_directory_property(LY_PARENT_SCOPE PARENT_DIRECTORY)
- if(LY_PARENT_SCOPE)
- set(LY_PARENT_SCOPE ${LY_PARENT_SCOPE} PARENT_SCOPE)
- endif()
- #! ly_set: convenient function to set and export variable to the parent scope in scenarios
- # where CMAKE_SOURCE_DIR != CMAKE_CURRENT_LIST_DIR (e.g. when the engine's cmake
- # files are included from a project)
- #
- macro(ly_set name)
- set(${name} "${ARGN}")
- if(LY_PARENT_SCOPE)
- set(${name} "${ARGN}" PARENT_SCOPE)
- endif()
- endmacro()
- #! o3de_set_from_env_with_default: convenient function to set a variable
- # from an environment variable or a default if the environment var is empty
- # and then run CONFIGURE on the result to replace all @sign variable references
- #
- # Example usage:
- # set(default "example")
- # o3de_set_from_env_with_default(var ENVVAR "@default@" CACHE STRING "Example string")
- # message(INFO "Result is ${var}")
- # Prints "Result is example" if no environment var named "ENVVAR" is set or is empty
- #
- # \arg:name - name of output variable to set
- # \arg:env_name - name of environment variable to use
- # \argn - remaining args are passed to the set() command and should at least contain the value
- macro(o3de_set_from_env_with_default name env_name)
- set(${name} ${ARGN})
- if(NOT "$ENV{${env_name}}" STREQUAL "")
- set(${name} "$ENV{${env_name}}")
- endif()
- string(CONFIGURE ${${name}} ${name} @ONLY)
- endmacro()
|