| # |
| # 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) |
| |
| # Converts spaces in $in_string to semicolons and writes the output to |
| # $out_string. In CMake's eyes this converts the input string to a list. |
| function(listify_string in_string out_string) |
| string(REPLACE " " ";" ${out_string} ${in_string}) |
| set(${out_string} |
| "${${out_string}}" |
| PARENT_SCOPE) |
| endfunction() |
| |
| set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "AOM_DIST_DIR" |
| "AOM_DIST_INCLUDES" "AOM_DIST_LIBS" "ENABLE_DOCS") |
| |
| foreach(arg ${REQUIRED_ARGS}) |
| if("${${arg}}" STREQUAL "") |
| message(FATAL_ERROR "${arg} must not be empty.") |
| endif() |
| endforeach() |
| |
| if(ENABLE_DOCS) |
| file(INSTALL "${AOM_CONFIG_DIR}/docs" DESTINATION "${AOM_DIST_DIR}") |
| endif() |
| |
| if(AOM_DIST_EXAMPLES) |
| listify_string("${AOM_DIST_EXAMPLES}" "AOM_DIST_EXAMPLES") |
| foreach(example ${AOM_DIST_EXAMPLES}) |
| if(NOT "${example}" MATCHES "aomdec\|aomenc") |
| file(INSTALL "${example}" DESTINATION "${AOM_DIST_DIR}/bin/examples") |
| endif() |
| endforeach() |
| endif() |
| |
| if(AOM_DIST_TOOLS) |
| listify_string("${AOM_DIST_TOOLS}" "AOM_DIST_TOOLS") |
| foreach(tool ${AOM_DIST_TOOLS}) |
| file(INSTALL "${tool}" DESTINATION "${AOM_DIST_DIR}/bin/tools") |
| endforeach() |
| endif() |
| |
| if(AOM_DIST_APPS) |
| listify_string("${AOM_DIST_APPS}" "AOM_DIST_APPS") |
| foreach(app ${AOM_DIST_APPS}) |
| file(INSTALL "${app}" DESTINATION "${AOM_DIST_DIR}/bin") |
| endforeach() |
| endif() |
| |
| listify_string("${AOM_DIST_INCLUDES}" "AOM_DIST_INCLUDES") |
| foreach(inc ${AOM_DIST_INCLUDES}) |
| file(INSTALL "${inc}" DESTINATION "${AOM_DIST_DIR}/include/aom") |
| endforeach() |
| |
| listify_string("${AOM_DIST_LIBS}" "AOM_DIST_LIBS") |
| foreach(lib ${AOM_DIST_LIBS}) |
| file(INSTALL "${lib}" DESTINATION "${AOM_DIST_DIR}/lib") |
| endforeach() |