blob: e83299320fcb0a2c17e0a2e5533dcbab116e95c4 [file] [log] [blame]
Johann589bae82018-04-27 10:57:44 -07001#
2# Copyright (c) 2017, Alliance for Open Media. All rights reserved
3#
4# This source code is subject to the terms of the BSD 2 Clause License and the
5# Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
6# not distributed with this source code in the LICENSE file, you can obtain it
7# at www.aomedia.org/license/software. If the Alliance for Open Media Patent
8# License 1.0 was not distributed with this source code in the PATENTS file, you
9# can obtain it at www.aomedia.org/license/patent.
10#
11if(AOM_AOM_SCALE_AOM_SCALE_CMAKE_)
Johann29a59732018-04-27 10:51:00 -070012 return()
Johann589bae82018-04-27 10:57:44 -070013endif() # AOM_AOM_SCALE_AOM_SCALE_CMAKE_
Tom Finegan17ccaec2017-05-25 17:47:42 -070014set(AOM_AOM_SCALE_AOM_SCALE_CMAKE_ 1)
15
Tom Fineganf42d00d2018-06-06 15:13:10 -070016list(APPEND AOM_SCALE_SOURCES "${AOM_ROOT}/aom_scale/aom_scale.h"
17 "${AOM_ROOT}/aom_scale/generic/aom_scale.c"
18 "${AOM_ROOT}/aom_scale/generic/gen_scalers.c"
19 "${AOM_ROOT}/aom_scale/generic/yv12config.c"
20 "${AOM_ROOT}/aom_scale/generic/yv12extend.c"
21 "${AOM_ROOT}/aom_scale/yv12config.h")
Tom Fineganf0d14442017-03-01 20:42:51 -080022
Tom Fineganf42d00d2018-06-06 15:13:10 -070023list(APPEND AOM_SCALE_INTRIN_DSPR2
24 "${AOM_ROOT}/aom_scale/mips/dspr2/yv12extend_dspr2.c")
Tom Finegand148c962017-04-04 14:48:26 -070025
Tom Fineganf0d14442017-03-01 20:42:51 -080026# Creates the aom_scale build target and makes libaom depend on it. The libaom
27# target must exist before this function is called.
Johann589bae82018-04-27 10:57:44 -070028function(setup_aom_scale_targets)
Tom Finegan78516fc2017-06-20 10:46:26 -070029 add_library(aom_scale OBJECT ${AOM_SCALE_SOURCES})
30 target_sources(aom PRIVATE $<TARGET_OBJECTS:aom_scale>)
Tom Finegand148c962017-04-04 14:48:26 -070031
Johann589bae82018-04-27 10:57:44 -070032 if(HAVE_DSPR2)
Tom Finegand148c962017-04-04 14:48:26 -070033 add_intrinsics_object_library("" "dspr2" "aom_scale"
Tom Finegan55db7b62020-01-30 12:18:16 -080034 "AOM_SCALE_INTRIN_DSPR2")
Johann589bae82018-04-27 10:57:44 -070035 endif()
Tom Finegand148c962017-04-04 14:48:26 -070036
Tom Finegan16ad7f52019-03-05 14:09:17 -080037 target_sources(aom PRIVATE $<TARGET_OBJECTS:aom_scale>)
Tom Finegan55db7b62020-01-30 12:18:16 -080038 if(BUILD_SHARED_LIBS)
39 target_sources(aom_static PRIVATE $<TARGET_OBJECTS:aom_scale>)
40 endif()
Tom Finegan16ad7f52019-03-05 14:09:17 -080041
42 # Pass the new lib targets up to the parent scope instance of
43 # $AOM_LIB_TARGETS.
Tom Finegand148c962017-04-04 14:48:26 -070044 set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_scale PARENT_SCOPE)
Johann589bae82018-04-27 10:57:44 -070045endfunction()