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