| # | 
 | # 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/. | 
 | # | 
 | list( | 
 |   APPEND | 
 |   AOM_INSTALL_INCS | 
 |   "${AOM_ROOT}/aom/aom.h" | 
 |   "${AOM_ROOT}/aom/aom_codec.h" | 
 |   "${AOM_ROOT}/aom/aom_frame_buffer.h" | 
 |   "${AOM_ROOT}/aom/aom_image.h" | 
 |   "${AOM_ROOT}/aom/aom_integer.h" | 
 |   "${AOM_ROOT}/aom/aom.h") | 
 |  | 
 | if(CONFIG_AV1_DECODER) | 
 |   list(APPEND AOM_INSTALL_INCS "${AOM_ROOT}/aom/aom_decoder.h" | 
 |        "${AOM_ROOT}/aom/aomdx.h") | 
 | endif() | 
 |  | 
 | if(CONFIG_AV1_ENCODER) | 
 |   list(APPEND AOM_INSTALL_INCS "${AOM_ROOT}/aom/aomcx.h" | 
 |        "${AOM_ROOT}/aom/aom_encoder.h") | 
 | endif() | 
 |  | 
 | # Generate aom.pc and setup dependencies to ensure it is created when necessary. | 
 | # Note: aom.pc generation uses GNUInstallDirs: | 
 | # https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html | 
 | macro(setup_aom_install_targets) | 
 |   if(NOT (MSVC OR XCODE)) | 
 |     include("GNUInstallDirs") | 
 |     set(AOM_PKG_CONFIG_FILE "${AOM_CONFIG_DIR}/aom.pc") | 
 |  | 
 |     # Create a dummy library target for creating aom.pc. | 
 |     create_dummy_source_file(aom_pc c AOM_PKG_CONFIG_SOURCES) | 
 |     add_library(aom_pc ${AOM_PKG_CONFIG_SOURCES}) | 
 |  | 
 |     # Setup a rule to generate aom.pc. | 
 |     add_custom_command( | 
 |       OUTPUT "${AOM_PKG_CONFIG_FILE}" | 
 |       COMMAND | 
 |         ${CMAKE_COMMAND} ARGS -DAOM_CONFIG_DIR=${AOM_CONFIG_DIR} | 
 |         -DAOM_ROOT=${AOM_ROOT} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} | 
 |         -DCMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR} | 
 |         -DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR} | 
 |         -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} | 
 |         -DCMAKE_PROJECT_NAME=${CMAKE_PROJECT_NAME} | 
 |         -DCONFIG_MULTITHREAD=${CONFIG_MULTITHREAD} | 
 |         -DHAVE_PTHREAD_H=${HAVE_PTHREAD_H} -P | 
 |         "${AOM_ROOT}/build/cmake/pkg_config.cmake" | 
 |       COMMENT "Writing aom.pc" | 
 |       VERBATIM) | 
 |  | 
 |     # Explicitly add a dependency on the pkg-config file to ensure it's built. | 
 |     get_property( | 
 |       aom_pc_sources | 
 |       TARGET aom_pc | 
 |       PROPERTY SOURCES) | 
 |     set_source_files_properties(${aom_pc_sources} OBJECT_DEPENDS | 
 |                                 "${AOM_PKG_CONFIG_FILE}") | 
 |  | 
 |     # Our pkg-config file carries version information: add a dependency on the | 
 |     # version rule. | 
 |     add_dependencies(aom_pc aom_version) | 
 |  | 
 |     if(CONFIG_AV1_DECODER) | 
 |       if(ENABLE_EXAMPLES) | 
 |         list(APPEND AOM_INSTALL_BINS aomdec) | 
 |       endif() | 
 |     endif() | 
 |  | 
 |     if(CONFIG_AV1_ENCODER) | 
 |       if(ENABLE_EXAMPLES) | 
 |         list(APPEND AOM_INSTALL_BINS aomenc) | 
 |       endif() | 
 |     endif() | 
 |  | 
 |     if(BUILD_SHARED_LIBS) | 
 |       set(AOM_INSTALL_LIBS aom aom_static) | 
 |     else() | 
 |       set(AOM_INSTALL_LIBS aom) | 
 |     endif() | 
 |  | 
 |     # Setup the install rules. | 
 |     install( | 
 |       FILES ${AOM_INSTALL_INCS} | 
 |       DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/aom") | 
 |     install( | 
 |       FILES "${AOM_PKG_CONFIG_FILE}" | 
 |       DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") | 
 |     install(TARGETS ${AOM_INSTALL_LIBS} | 
 |             DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") | 
 |  | 
 |     if(ENABLE_EXAMPLES) | 
 |       install(TARGETS ${AOM_INSTALL_BINS} | 
 |               DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") | 
 |     endif() | 
 |   endif() | 
 | endmacro() |