|  | # | 
|  | # Copyright (c) 2021, Alliance for Open Media. All rights reserved | 
|  | # | 
|  | # This source code is subject to the terms of the BSD 3-Clause Clear License and | 
|  | # the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear | 
|  | # License was not distributed with this source code in the LICENSE file, you can | 
|  | # obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance | 
|  | # for Open Media Patent License 1.0 was not distributed with this source code in | 
|  | # the PATENTS file, you can obtain it at aomedia.org/license/patent-license/. | 
|  | # | 
|  | cmake_minimum_required(VERSION 3.5) | 
|  |  | 
|  | string(TIMESTAMP year "%Y") | 
|  | set(asm_file_header_block | 
|  | "\; | 
|  | \; Copyright (c) ${year}, Alliance for Open Media. All rights reserved | 
|  | \; | 
|  | \; This source code is subject to the terms of the BSD 3-Clause Clear License and the | 
|  | \; Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was | 
|  | \; not distributed with this source code in the LICENSE file, you can obtain it | 
|  | \; at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent | 
|  | \; License 1.0 was not distributed with this source code in the PATENTS file, you | 
|  | \; can obtain it at aomedia.org/license/patent-license/. | 
|  | \; | 
|  | ") | 
|  | set(h_file_header_block | 
|  | "/* | 
|  | * Copyright (c) ${year}, Alliance for Open Media. All rights reserved | 
|  | * | 
|  | * This source code is subject to the terms of the BSD 3-Clause Clear License and the | 
|  | * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was | 
|  | * not distributed with this source code in the LICENSE file, you can obtain it | 
|  | * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent | 
|  | * License 1.0 was not distributed with this source code in the PATENTS file, you | 
|  | * can obtain it at aomedia.org/license/patent-license/. | 
|  | */ | 
|  | \#ifndef AOM_CONFIG_H_ | 
|  | \#define AOM_CONFIG_H_ | 
|  | ") | 
|  | set(cmake_file_header_block | 
|  | "## | 
|  | ## Copyright (c) ${year}, Alliance for Open Media. All rights reserved | 
|  | ## | 
|  | ## This source code is subject to the terms of the BSD 3-Clause Clear License and the | 
|  | ## Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was | 
|  | ## not distributed with this source code in the LICENSE file, you can obtain it | 
|  | ## at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent | 
|  | ## License 1.0 was not distributed with this source code in the PATENTS file, you | 
|  | ## can obtain it at aomedia.org/license/patent-license/. | 
|  | ## | 
|  | ") | 
|  |  | 
|  | # Terminates cmake execution when $var_name is an empty string, or the variable | 
|  | # name it contains does not expand to an existing directory. | 
|  | function(check_directory_var var_name) | 
|  | if("${var_name}" STREQUAL "") | 
|  | message(FATAL_ERROR "The CMake variable ${var_name} must be defined.") | 
|  | endif() | 
|  |  | 
|  | if(NOT EXISTS "${${var_name}}") | 
|  | message(FATAL_ERROR "${${var_name}} (${var_name}) missing.") | 
|  | endif() | 
|  | endfunction() | 
|  |  | 
|  | check_directory_var(AOM_CONFIG_DIR) | 
|  | check_directory_var(AOM_ROOT) | 
|  |  | 
|  | set(AOM_DEFAULTS "${AOM_ROOT}/build/cmake/aom_config_defaults.cmake") | 
|  | if(NOT EXISTS "${AOM_DEFAULTS}") | 
|  | message( | 
|  | FATAL_ERROR "Configuration default values file (${AOM_DEFAULTS}) missing.") | 
|  | endif() | 
|  |  | 
|  | include("${AOM_ROOT}/build/cmake/aom_config_defaults.cmake") | 
|  | list(APPEND aom_build_vars ${AOM_DETECT_VARS} ${AOM_CONFIG_VARS}) | 
|  | list(SORT aom_build_vars) | 
|  |  | 
|  | set(aom_config_h_template "${AOM_CONFIG_DIR}/config/aom_config.h.cmake") | 
|  | file(WRITE "${aom_config_h_template}" ${h_file_header_block}) | 
|  | foreach(aom_var ${aom_build_vars}) | 
|  | if(NOT "${aom_var}" STREQUAL "AOM_RTCD_FLAGS") | 
|  | file(APPEND "${aom_config_h_template}" | 
|  | "\#define ${aom_var} \${${aom_var}}\n") | 
|  | endif() | 
|  | endforeach() | 
|  | file(APPEND "${aom_config_h_template}" "\#endif  // AOM_CONFIG_H_") | 
|  |  | 
|  | set(aom_asm_config_template "${AOM_CONFIG_DIR}/config/aom_config.asm.cmake") | 
|  | file(WRITE "${aom_asm_config_template}" ${asm_file_header_block}) | 
|  | foreach(aom_var ${aom_build_vars}) | 
|  | if(NOT "${aom_var}" STREQUAL "INLINE" AND NOT "${aom_var}" STREQUAL | 
|  | "AOM_RTCD_FLAGS") | 
|  | file(APPEND "${aom_asm_config_template}" "${aom_var} equ \${${aom_var}}\n") | 
|  | endif() | 
|  | endforeach() |