Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 1 | ## |
| 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 |
| 5 | ## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
| 6 | ## was not distributed with this source code in the LICENSE file, you can |
| 7 | ## obtain it at www.aomedia.org/license/software. If the Alliance for Open |
| 8 | ## Media Patent License 1.0 was not distributed with this source code in the |
| 9 | ## PATENTS file, you can obtain it at www.aomedia.org/license/patent. |
| 10 | ## |
Tom Finegan | 17ccaec | 2017-05-25 17:47:42 -0700 | [diff] [blame] | 11 | if (NOT AOM_TEST_TEST_CMAKE_) |
| 12 | set(AOM_TEST_TEST_CMAKE_ 1) |
| 13 | |
Tom Finegan | ff766cd | 2017-06-20 14:18:03 -0700 | [diff] [blame] | 14 | include(FindPythonInterp) |
Tom Finegan | e9d70c9 | 2017-05-10 11:31:05 -0700 | [diff] [blame] | 15 | include(ProcessorCount) |
| 16 | |
Tom Finegan | 4f7e104 | 2017-03-01 10:25:16 -0800 | [diff] [blame] | 17 | include("${AOM_ROOT}/test/test_data_util.cmake") |
| 18 | |
Tom Finegan | e9d70c9 | 2017-05-10 11:31:05 -0700 | [diff] [blame] | 19 | set(AOM_UNIT_TEST_DATA_LIST_FILE "${AOM_ROOT}/test/test-data.sha1") |
| 20 | |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 21 | set(AOM_UNIT_TEST_WRAPPER_SOURCES |
| 22 | "${AOM_CONFIG_DIR}/usage_exit.c" |
| 23 | "${AOM_ROOT}/test/test_libaom.cc") |
| 24 | |
| 25 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 26 | "${AOM_ROOT}/test/acm_random.h" |
| 27 | "${AOM_ROOT}/test/clear_system_state.h" |
| 28 | "${AOM_ROOT}/test/codec_factory.h" |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 29 | "${AOM_ROOT}/test/decode_test_driver.cc" |
| 30 | "${AOM_ROOT}/test/decode_test_driver.h" |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 31 | "${AOM_ROOT}/test/function_equivalence_test.h" |
| 32 | "${AOM_ROOT}/test/md5_helper.h" |
| 33 | "${AOM_ROOT}/test/register_state_check.h" |
| 34 | "${AOM_ROOT}/test/transform_test_base.h" |
| 35 | "${AOM_ROOT}/test/util.h" |
| 36 | "${AOM_ROOT}/test/video_source.h") |
| 37 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 38 | if (NOT BUILD_SHARED_LIBS) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 39 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 40 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 41 | "${AOM_ROOT}/test/convolve_test.cc" |
| 42 | "${AOM_ROOT}/test/simd_impl.h") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 43 | |
Tom Finegan | 88ea635 | 2017-07-14 09:19:01 -0700 | [diff] [blame] | 44 | if (HAVE_NEON) |
| 45 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 46 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 47 | "${AOM_ROOT}/test/simd_neon_test.cc") |
| 48 | endif () |
| 49 | if (HAVE_SSE2) |
| 50 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 51 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 52 | "${AOM_ROOT}/test/simd_sse2_test.cc") |
| 53 | endif () |
| 54 | if (HAVE_SSSE3) |
| 55 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 56 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 57 | "${AOM_ROOT}/test/simd_ssse3_test.cc") |
| 58 | endif () |
| 59 | if (HAVE_SSE4) |
| 60 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 61 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 62 | "${AOM_ROOT}/test/simd_sse4_test.cc") |
| 63 | endif () |
| 64 | if (HAVE_AVX2) |
| 65 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 66 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 67 | "${AOM_ROOT}/test/simd_avx2_test.cc") |
| 68 | endif () |
| 69 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 70 | if (CONFIG_ACCOUNTING) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 71 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 72 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 73 | "${AOM_ROOT}/test/accounting_test.cc") |
| 74 | endif () |
| 75 | |
Sebastien Alaiwan | 4879580 | 2017-10-30 12:07:13 +0100 | [diff] [blame] | 76 | if (HAVE_SSE2) |
| 77 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 78 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 79 | "${AOM_ROOT}/test/warp_filter_test.cc" |
| 80 | "${AOM_ROOT}/test/warp_filter_test_util.cc" |
| 81 | "${AOM_ROOT}/test/warp_filter_test_util.h") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 82 | endif () |
| 83 | endif () |
| 84 | |
| 85 | set(AOM_UNIT_TEST_DECODER_SOURCES |
| 86 | "${AOM_ROOT}/test/decode_api_test.cc" |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 87 | "${AOM_ROOT}/test/ivf_video_source.h") |
| 88 | |
| 89 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 90 | "${AOM_ROOT}/test/altref_test.cc" |
| 91 | "${AOM_ROOT}/test/aq_segment_test.cc" |
| 92 | "${AOM_ROOT}/test/datarate_test.cc" |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 93 | "${AOM_ROOT}/test/encode_api_test.cc" |
| 94 | "${AOM_ROOT}/test/encode_test_driver.cc" |
| 95 | "${AOM_ROOT}/test/encode_test_driver.h" |
| 96 | "${AOM_ROOT}/test/error_resilience_test.cc" |
| 97 | "${AOM_ROOT}/test/i420_video_source.h" |
James Zern | a87d186 | 2017-09-21 23:09:11 -0700 | [diff] [blame] | 98 | "${AOM_ROOT}/test/resize_test.cc" |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 99 | "${AOM_ROOT}/test/y4m_test.cc" |
| 100 | "${AOM_ROOT}/test/y4m_video_source.h" |
| 101 | "${AOM_ROOT}/test/yuv_video_source.h") |
| 102 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 103 | if (NOT BUILD_SHARED_LIBS) |
| 104 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 105 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 106 | "${AOM_ROOT}/test/dct16x16_test.cc" |
| 107 | "${AOM_ROOT}/test/dct32x32_test.cc" |
| 108 | "${AOM_ROOT}/test/sad_test.cc") |
| 109 | endif () |
| 110 | |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 111 | set(AOM_DECODE_PERF_TEST_SOURCES "${AOM_ROOT}/test/decode_perf_test.cc") |
| 112 | set(AOM_ENCODE_PERF_TEST_SOURCES "${AOM_ROOT}/test/encode_perf_test.cc") |
| 113 | set(AOM_UNIT_TEST_WEBM_SOURCES "${AOM_ROOT}/test/webm_video_source.h") |
| 114 | |
| 115 | set(AOM_TEST_INTRA_PRED_SPEED_SOURCES |
| 116 | "${AOM_CONFIG_DIR}/usage_exit.c" |
| 117 | "${AOM_ROOT}/test/test_intra_pred_speed.cc") |
| 118 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 119 | if (NOT BUILD_SHARED_LIBS) |
| 120 | if (CONFIG_AV1_DECODER OR CONFIG_AV1_ENCODER) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 121 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 122 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 123 | "${AOM_ROOT}/test/av1_convolve_optimz_test.cc" |
| 124 | "${AOM_ROOT}/test/av1_convolve_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 125 | "${AOM_ROOT}/test/intrapred_test.cc" |
James Zern | 989c5cb | 2017-11-22 21:06:50 -0800 | [diff] [blame] | 126 | "${AOM_ROOT}/test/lpf_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 127 | "${AOM_ROOT}/test/simd_cmp_impl.h") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 128 | |
Tom Finegan | cbf4fa1 | 2017-08-29 16:15:03 -0700 | [diff] [blame] | 129 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 130 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 131 | "${AOM_ROOT}/test/motion_vector_test.cc") |
| 132 | |
Steinar Midtskogen | 8322ff0 | 2017-12-20 15:39:52 +0100 | [diff] [blame] | 133 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 134 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 135 | "${AOM_ROOT}/test/cdef_test.cc") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 136 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 137 | if (CONFIG_INTRABC) |
| 138 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 139 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 140 | "${AOM_ROOT}/test/intrabc_test.cc") |
| 141 | endif () |
| 142 | |
Luc Trudeau | b4faea7 | 2017-12-15 16:44:01 -0500 | [diff] [blame] | 143 | if (CONFIG_CFL) |
| 144 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 145 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 146 | "${AOM_ROOT}/test/cfl_test.cc") |
| 147 | endif () |
| 148 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 149 | if (CONFIG_LOOP_RESTORATION) |
| 150 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 151 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
Tom Finegan | 5d9e44f | 2017-09-01 16:26:34 -0700 | [diff] [blame] | 152 | "${AOM_ROOT}/test/selfguided_filter_test.cc") |
| 153 | |
| 154 | if (HAVE_SSE2) |
| 155 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 156 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 157 | "${AOM_ROOT}/test/hiprec_convolve_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 158 | "${AOM_ROOT}/test/hiprec_convolve_test_util.cc" |
Tom Finegan | 5d9e44f | 2017-09-01 16:26:34 -0700 | [diff] [blame] | 159 | "${AOM_ROOT}/test/hiprec_convolve_test_util.h") |
| 160 | endif () |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 161 | endif () |
| 162 | |
Linfeng Zhang | ae7b2f3 | 2017-11-08 15:46:57 -0800 | [diff] [blame] | 163 | if (CONFIG_LV_MAP) |
| 164 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 165 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 166 | "${AOM_ROOT}/test/txb_test.cc") |
Linfeng Zhang | 0ba23e8 | 2017-12-20 16:27:28 -0800 | [diff] [blame] | 167 | |
| 168 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 169 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 170 | "${AOM_ROOT}/test/encodetxb_test.cc") |
Linfeng Zhang | ae7b2f3 | 2017-11-08 15:46:57 -0800 | [diff] [blame] | 171 | endif () |
| 172 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 173 | set(AOM_UNIT_TEST_COMMON_INTRIN_NEON |
| 174 | ${AOM_UNIT_TEST_COMMON_INTRIN_NEON} |
Tom Finegan | 284653e | 2017-07-13 13:04:16 -0700 | [diff] [blame] | 175 | "${AOM_ROOT}/test/simd_cmp_neon.cc") |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 176 | set(AOM_UNIT_TEST_COMMON_INTRIN_SSE2 |
| 177 | ${AOM_UNIT_TEST_COMMON_INTRIN_SSE2} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 178 | "${AOM_ROOT}/test/simd_cmp_sse2.cc") |
| 179 | set(AOM_UNIT_TEST_COMMON_INTRIN_SSSE3 |
| 180 | ${AOM_UNIT_TEST_COMMON_INTRIN_SSSE3} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 181 | "${AOM_ROOT}/test/simd_cmp_ssse3.cc") |
| 182 | set(AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1 |
| 183 | ${AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 184 | "${AOM_ROOT}/test/simd_cmp_sse4.cc") |
| 185 | set(AOM_UNIT_TEST_COMMON_INTRIN_AVX2 |
| 186 | ${AOM_UNIT_TEST_COMMON_INTRIN_AVX2} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 187 | "${AOM_ROOT}/test/simd_cmp_avx2.cc") |
| 188 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 189 | endif () |
| 190 | |
| 191 | if (CONFIG_AV1_ENCODER) |
| 192 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 193 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 194 | "${AOM_ROOT}/test/active_map_test.cc" |
Urvang Joshi | 0ad887d | 2017-12-14 12:42:57 -0800 | [diff] [blame] | 195 | "${AOM_ROOT}/test/av1_txfm_test.cc" |
| 196 | "${AOM_ROOT}/test/av1_txfm_test.h" |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 197 | "${AOM_ROOT}/test/borders_test.cc" |
| 198 | "${AOM_ROOT}/test/cpu_speed_test.cc" |
| 199 | "${AOM_ROOT}/test/end_to_end_test.cc" |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 200 | "${AOM_ROOT}/test/frame_size_tests.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 201 | "${AOM_ROOT}/test/lossless_test.cc") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 202 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 203 | if (NOT BUILD_SHARED_LIBS) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 204 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 205 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 206 | "${AOM_ROOT}/test/arf_freq_test.cc" |
| 207 | "${AOM_ROOT}/test/av1_dct_test.cc" |
| 208 | "${AOM_ROOT}/test/av1_fht16x16_test.cc" |
| 209 | "${AOM_ROOT}/test/av1_fht32x32_test.cc" |
| 210 | "${AOM_ROOT}/test/av1_fht8x8_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 211 | "${AOM_ROOT}/test/av1_fwd_txfm1d_test.cc" |
| 212 | "${AOM_ROOT}/test/av1_fwd_txfm2d_test.cc" |
| 213 | "${AOM_ROOT}/test/av1_inv_txfm1d_test.cc" |
| 214 | "${AOM_ROOT}/test/av1_inv_txfm2d_test.cc" |
Tom Finegan | aaf262f | 2017-10-03 15:00:48 -0700 | [diff] [blame] | 215 | "${AOM_ROOT}/test/av1_inv_txfm_test.cc" |
| 216 | "${AOM_ROOT}/test/av1_wedge_utils_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 217 | "${AOM_ROOT}/test/avg_test.cc" |
| 218 | "${AOM_ROOT}/test/blend_a64_mask_1d_test.cc" |
| 219 | "${AOM_ROOT}/test/blend_a64_mask_test.cc" |
| 220 | "${AOM_ROOT}/test/error_block_test.cc" |
| 221 | "${AOM_ROOT}/test/fdct4x4_test.cc" |
| 222 | "${AOM_ROOT}/test/fdct8x8_test.cc" |
| 223 | "${AOM_ROOT}/test/hadamard_test.cc" |
Tom Finegan | aaf262f | 2017-10-03 15:00:48 -0700 | [diff] [blame] | 224 | "${AOM_ROOT}/test/masked_sad_test.cc" |
| 225 | "${AOM_ROOT}/test/masked_variance_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 226 | "${AOM_ROOT}/test/minmax_test.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 227 | "${AOM_ROOT}/test/subtract_test.cc" |
| 228 | "${AOM_ROOT}/test/sum_squares_test.cc" |
| 229 | "${AOM_ROOT}/test/variance_test.cc") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 230 | |
Tom Finegan | 92d5023 | 2017-08-07 16:53:32 -0700 | [diff] [blame] | 231 | if (NOT CONFIG_AOM_QM AND NOT CONFIG_NEW_QUANT) |
| 232 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 233 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 234 | "${AOM_ROOT}/test/quantize_func_test.cc") |
| 235 | endif () |
| 236 | |
Yunqing Wang | fa00507 | 2017-12-12 17:45:36 -0800 | [diff] [blame] | 237 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 238 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 239 | "${AOM_ROOT}/test/convolve_round_test.cc") |
| 240 | if (HAVE_SSE2) |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 241 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 242 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
Yunqing Wang | fa00507 | 2017-12-12 17:45:36 -0800 | [diff] [blame] | 243 | "${AOM_ROOT}/test/av1_convolve_2d_test.cc" |
| 244 | "${AOM_ROOT}/test/av1_convolve_2d_test_util.cc" |
| 245 | "${AOM_ROOT}/test/av1_convolve_2d_test_util.h") |
| 246 | endif () |
| 247 | |
| 248 | if (HAVE_SSE4_1) |
| 249 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 250 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 251 | "${AOM_ROOT}/test/av1_convolve_scale_test.cc") |
James Zern | f902388 | 2017-08-05 13:03:41 -0700 | [diff] [blame] | 252 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 253 | |
Sebastien Alaiwan | 3bac992 | 2017-11-02 12:34:41 +0100 | [diff] [blame] | 254 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 255 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 256 | "${AOM_ROOT}/test/av1_fht16x32_test.cc" |
| 257 | "${AOM_ROOT}/test/av1_fht16x8_test.cc" |
| 258 | "${AOM_ROOT}/test/av1_fht32x16_test.cc" |
| 259 | "${AOM_ROOT}/test/av1_fht4x4_test.cc" |
| 260 | "${AOM_ROOT}/test/av1_fht4x8_test.cc" |
| 261 | "${AOM_ROOT}/test/av1_fht8x16_test.cc" |
| 262 | "${AOM_ROOT}/test/av1_fht8x4_test.cc") |
Urvang Joshi | d466882 | 2017-05-17 14:57:09 -0700 | [diff] [blame] | 263 | |
Sebastien Alaiwan | 4879580 | 2017-10-30 12:07:13 +0100 | [diff] [blame] | 264 | set(AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1 |
| 265 | ${AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1} |
| 266 | "${AOM_ROOT}/test/corner_match_test.cc") |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 267 | |
Sebastien Alaiwan | 1bc94fc | 2017-10-31 10:25:17 +0100 | [diff] [blame] | 268 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 269 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 270 | "${AOM_ROOT}/test/obmc_sad_test.cc" |
| 271 | "${AOM_ROOT}/test/obmc_variance_test.cc") |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 272 | |
| 273 | if (CONFIG_TX64X64) |
| 274 | set(AOM_UNIT_TEST_ENCODER_SOURCES |
| 275 | ${AOM_UNIT_TEST_ENCODER_SOURCES} |
| 276 | "${AOM_ROOT}/test/av1_fht64x64_test.cc") |
| 277 | endif () |
Urvang Joshi | d466882 | 2017-05-17 14:57:09 -0700 | [diff] [blame] | 278 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 279 | endif () |
| 280 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 281 | if (NOT BUILD_SHARED_LIBS) |
| 282 | if (CONFIG_AV1_DECODER AND CONFIG_AV1_ENCODER) |
| 283 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 284 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 285 | "${AOM_ROOT}/test/divu_small_test.cc" |
| 286 | "${AOM_ROOT}/test/ethread_test.cc" |
Sebastien Alaiwan | 05fb42f | 2017-08-04 09:09:41 +0200 | [diff] [blame] | 287 | "${AOM_ROOT}/test/coding_path_sync.cc" |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 288 | "${AOM_ROOT}/test/idct8x8_test.cc" |
| 289 | "${AOM_ROOT}/test/partial_idct_test.cc" |
| 290 | "${AOM_ROOT}/test/superframe_test.cc" |
| 291 | "${AOM_ROOT}/test/tile_independence_test.cc") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 292 | |
Sebastien Alaiwan | b0460fa | 2017-12-04 15:41:22 +0100 | [diff] [blame] | 293 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 294 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 295 | "${AOM_ROOT}/test/binary_codes_test.cc" |
| 296 | "${AOM_ROOT}/test/boolcoder_test.cc") |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 297 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 298 | if (CONFIG_EXT_TILE) |
| 299 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 300 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 301 | "${AOM_ROOT}/test/av1_ext_tile_test.cc") |
| 302 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 303 | endif () |
| 304 | endif () |
| 305 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 306 | if (CONFIG_AV1_ENCODER AND NOT BUILD_SHARED_LIBS) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 307 | set(AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1 |
| 308 | ${AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1} |
| 309 | "${AOM_ROOT}/test/av1_highbd_iht_test.cc" |
| 310 | "${AOM_ROOT}/test/av1_quantize_test.cc") |
| 311 | endif () |
| 312 | |
| 313 | if (CONFIG_INTERNAL_STATS) |
| 314 | set(AOM_UNIT_TEST_COMMON_SOURCES |
| 315 | ${AOM_UNIT_TEST_COMMON_SOURCES} |
| 316 | "${AOM_ROOT}/test/hbd_metrics_test.cc") |
| 317 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 318 | |
| 319 | if (CONFIG_UNIT_TESTS) |
Tom Finegan | ff766cd | 2017-06-20 14:18:03 -0700 | [diff] [blame] | 320 | find_package(PythonInterp) |
| 321 | if (NOT PYTHONINTERP_FOUND) |
| 322 | message(WARNING "--- Unit tests disabled: Python not found.") |
| 323 | set(CONFIG_UNIT_TESTS 0) |
| 324 | endif () |
| 325 | |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 326 | if (MSVC) |
| 327 | # Force static run time to avoid collisions with googletest. |
| 328 | include("${AOM_ROOT}/build/cmake/msvc_runtime.cmake") |
| 329 | endif () |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 330 | |
| 331 | if (BUILD_SHARED_LIBS AND APPLE) |
| 332 | # Silence an RPATH warning. |
| 333 | set(CMAKE_MACOSX_RPATH 1) |
| 334 | endif () |
Tom Finegan | 2f61fc8 | 2017-09-20 09:12:58 -0700 | [diff] [blame] | 335 | |
| 336 | include_directories( |
| 337 | "${AOM_ROOT}/third_party/googletest/src/googletest/src" |
| 338 | "${AOM_ROOT}/third_party/googletest/src/googletest/include") |
| 339 | |
| 340 | if (AOM_DISABLE_GTEST_CMAKE) |
| 341 | include_directories("${AOM_ROOT}/third_party/googletest/src/googletest") |
| 342 | add_library(gtest STATIC |
| 343 | "${AOM_ROOT}/third_party/googletest/src/googletest/src/gtest-all.cc") |
| 344 | else () |
| 345 | add_subdirectory("${AOM_ROOT}/third_party/googletest/src/googletest" |
| 346 | EXCLUDE_FROM_ALL) |
| 347 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 348 | |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 349 | endif () |
| 350 | |
| 351 | # Setup the targets for CONFIG_UNIT_TESTS. The libaom and app util targets must |
| 352 | # exist before this function is called. |
| 353 | function (setup_aom_test_targets) |
| 354 | add_library(test_aom_common OBJECT ${AOM_UNIT_TEST_COMMON_SOURCES}) |
Tom Finegan | d2a74d6 | 2017-06-21 11:46:51 -0700 | [diff] [blame] | 355 | add_dependencies(test_aom_common aom) |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 356 | |
| 357 | if (CONFIG_AV1_DECODER) |
| 358 | add_library(test_aom_decoder OBJECT ${AOM_UNIT_TEST_DECODER_SOURCES}) |
Tom Finegan | d2a74d6 | 2017-06-21 11:46:51 -0700 | [diff] [blame] | 359 | add_dependencies(test_aom_decoder aom) |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 360 | endif () |
| 361 | |
| 362 | if (CONFIG_AV1_ENCODER) |
| 363 | add_library(test_aom_encoder OBJECT ${AOM_UNIT_TEST_ENCODER_SOURCES}) |
Tom Finegan | d2a74d6 | 2017-06-21 11:46:51 -0700 | [diff] [blame] | 364 | add_dependencies(test_aom_encoder aom) |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 365 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 366 | |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 367 | add_executable(test_libaom ${AOM_UNIT_TEST_WRAPPER_SOURCES} |
| 368 | $<TARGET_OBJECTS:aom_common_app_util> |
| 369 | $<TARGET_OBJECTS:test_aom_common>) |
Tom Finegan | 140dcd5 | 2017-09-13 11:18:12 -0700 | [diff] [blame] | 370 | set(AOM_APP_TARGETS ${AOM_APP_TARGETS} test_libaom) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 371 | |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 372 | if (CONFIG_AV1_DECODER) |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 373 | target_sources(test_libaom PRIVATE |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 374 | $<TARGET_OBJECTS:aom_decoder_app_util> |
| 375 | $<TARGET_OBJECTS:test_aom_decoder>) |
| 376 | |
| 377 | if (CONFIG_DECODE_PERF_TESTS AND CONFIG_WEBM_IO) |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 378 | target_sources(test_libaom PRIVATE ${AOM_DECODE_PERF_TEST_SOURCES}) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 379 | endif () |
| 380 | endif () |
| 381 | |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 382 | if (CONFIG_AV1_ENCODER) |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 383 | target_sources(test_libaom PRIVATE |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 384 | $<TARGET_OBJECTS:test_aom_encoder> |
| 385 | $<TARGET_OBJECTS:aom_encoder_app_util>) |
| 386 | |
| 387 | if (CONFIG_ENCODE_PERF_TESTS) |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 388 | target_sources(test_libaom PRIVATE ${AOM_ENCODE_PERF_TEST_SOURCES}) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 389 | endif () |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 390 | |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 391 | if (NOT BUILD_SHARED_LIBS) |
| 392 | add_executable(test_intra_pred_speed |
| 393 | ${AOM_TEST_INTRA_PRED_SPEED_SOURCES} |
| 394 | $<TARGET_OBJECTS:aom_common_app_util>) |
| 395 | target_link_libraries(test_intra_pred_speed ${AOM_LIB_LINK_TYPE} |
| 396 | aom gtest) |
Tom Finegan | 140dcd5 | 2017-09-13 11:18:12 -0700 | [diff] [blame] | 397 | set(AOM_APP_TARGETS ${AOM_APP_TARGETS} test_intra_pred_speed) |
Tom Finegan | 871d2ca | 2017-06-15 16:46:57 -0700 | [diff] [blame] | 398 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 399 | endif () |
| 400 | |
Tom Finegan | d46b4d3 | 2017-05-09 09:14:03 -0700 | [diff] [blame] | 401 | target_link_libraries(test_libaom ${AOM_LIB_LINK_TYPE} aom gtest) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 402 | |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 403 | if (CONFIG_LIBYUV) |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 404 | target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:yuv>) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 405 | endif () |
| 406 | if (CONFIG_WEBM_IO) |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 407 | target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:webm>) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 408 | endif () |
| 409 | if (HAVE_SSE2) |
| 410 | add_intrinsics_source_to_target("-msse2" "test_libaom" |
| 411 | "AOM_UNIT_TEST_COMMON_INTRIN_SSE2") |
| 412 | endif () |
| 413 | if (HAVE_SSSE3) |
| 414 | add_intrinsics_source_to_target("-mssse3" "test_libaom" |
| 415 | "AOM_UNIT_TEST_COMMON_INTRIN_SSSE3") |
| 416 | endif () |
| 417 | if (HAVE_SSE4_1) |
| 418 | add_intrinsics_source_to_target("-msse4.1" "test_libaom" |
| 419 | "AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1") |
Tom Finegan | ba02c24 | 2017-05-16 15:01:54 -0700 | [diff] [blame] | 420 | if (CONFIG_AV1_ENCODER) |
Tom Finegan | a9c4e51 | 2017-05-12 10:27:58 -0700 | [diff] [blame] | 421 | if (AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1) |
| 422 | add_intrinsics_source_to_target("-msse4.1" "test_libaom" |
| 423 | "AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1") |
| 424 | endif () |
| 425 | endif () |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 426 | endif () |
Tom Finegan | 84f2d79 | 2017-06-15 23:06:44 -0700 | [diff] [blame] | 427 | if (HAVE_AVX2) |
| 428 | add_intrinsics_source_to_target("-mavx2" "test_libaom" |
| 429 | "AOM_UNIT_TEST_COMMON_INTRIN_AVX2") |
| 430 | endif () |
Tom Finegan | eb10b75 | 2017-03-17 09:45:52 -0700 | [diff] [blame] | 431 | if (HAVE_NEON) |
| 432 | add_intrinsics_source_to_target("${AOM_NEON_INTRIN_FLAG}" "test_libaom" |
| 433 | "AOM_UNIT_TEST_COMMON_INTRIN_NEON") |
| 434 | endif () |
Tom Finegan | 4f7e104 | 2017-03-01 10:25:16 -0800 | [diff] [blame] | 435 | |
Tom Finegan | 375ee84 | 2017-06-02 10:34:02 -0700 | [diff] [blame] | 436 | if (NOT ENABLE_IDE_TEST_HOSTING) |
| 437 | if (MSVC OR XCODE) |
| 438 | # Skip creation of test data download and test run targets when generating |
| 439 | # for Visual Studio and Xcode unless the user explicitly requests IDE test |
| 440 | # hosting. This is done to make build cycles in the IDE tolerable when the |
| 441 | # IDE command for build project is used to build AOM. Default behavior in |
| 442 | # IDEs is to build all targets, and the test run takes hours. |
| 443 | return () |
| 444 | endif () |
| 445 | endif () |
| 446 | |
Tom Finegan | e9d70c9 | 2017-05-10 11:31:05 -0700 | [diff] [blame] | 447 | make_test_data_lists("${AOM_UNIT_TEST_DATA_LIST_FILE}" |
| 448 | test_files test_file_checksums) |
| 449 | list(LENGTH test_files num_test_files) |
| 450 | list(LENGTH test_file_checksums num_test_file_checksums) |
| 451 | |
| 452 | math(EXPR max_file_index "${num_test_files} - 1") |
| 453 | foreach (test_index RANGE ${max_file_index}) |
| 454 | list(GET test_files ${test_index} test_file) |
| 455 | list(GET test_file_checksums ${test_index} test_file_checksum) |
| 456 | add_custom_target(testdata_${test_index} |
| 457 | COMMAND ${CMAKE_COMMAND} |
| 458 | -DAOM_CONFIG_DIR="${AOM_CONFIG_DIR}" |
| 459 | -DAOM_ROOT="${AOM_ROOT}" |
| 460 | -DAOM_TEST_FILE="${test_file}" |
| 461 | -DAOM_TEST_CHECKSUM=${test_file_checksum} |
| 462 | -P "${AOM_ROOT}/test/test_data_download_worker.cmake") |
| 463 | set(testdata_targets ${testdata_targets} testdata_${test_index}) |
| 464 | endforeach () |
| 465 | |
| 466 | # Create a custom build target for running each test data download target. |
| 467 | add_custom_target(testdata) |
| 468 | add_dependencies(testdata ${testdata_targets}) |
| 469 | |
| 470 | # Pick a reasonable number of targets (this controls parallelization). |
| 471 | ProcessorCount(num_test_targets) |
| 472 | if (num_test_targets EQUAL 0) |
| 473 | # Just default to 10 targets when there's no processor count available. |
| 474 | set(num_test_targets 10) |
| 475 | endif () |
| 476 | |
Tom Finegan | e9d70c9 | 2017-05-10 11:31:05 -0700 | [diff] [blame] | 477 | math(EXPR max_shard_index "${num_test_targets} - 1") |
| 478 | foreach (shard_index RANGE ${max_shard_index}) |
| 479 | set(test_name "test_${shard_index}") |
| 480 | add_custom_target(${test_name} |
| 481 | COMMAND ${CMAKE_COMMAND} |
Tom Finegan | e9d70c9 | 2017-05-10 11:31:05 -0700 | [diff] [blame] | 482 | -DGTEST_SHARD_INDEX=${shard_index} |
| 483 | -DGTEST_TOTAL_SHARDS=${num_test_targets} |
Tom Finegan | d1cbd8c | 2017-05-18 14:14:56 -0700 | [diff] [blame] | 484 | -DTEST_LIBAOM=$<TARGET_FILE:test_libaom> |
Tom Finegan | e9d70c9 | 2017-05-10 11:31:05 -0700 | [diff] [blame] | 485 | -P "${AOM_ROOT}/test/test_runner.cmake" |
| 486 | DEPENDS testdata test_libaom) |
| 487 | set(test_targets ${test_targets} ${test_name}) |
| 488 | endforeach () |
| 489 | add_custom_target(runtests) |
| 490 | add_dependencies(runtests ${test_targets}) |
Tom Finegan | 140dcd5 | 2017-09-13 11:18:12 -0700 | [diff] [blame] | 491 | |
| 492 | set(AOM_APP_TARGETS ${AOM_APP_TARGETS} PARENT_SCOPE) |
Tom Finegan | 4db04d3 | 2017-02-23 14:37:27 -0800 | [diff] [blame] | 493 | endfunction () |
Tom Finegan | 17ccaec | 2017-05-25 17:47:42 -0700 | [diff] [blame] | 494 | |
| 495 | endif () # AOM_TEST_TEST_CMAKE_ |