diff options
Diffstat (limited to 'third_party/aom/test/test.cmake')
-rw-r--r-- | third_party/aom/test/test.cmake | 396 |
1 files changed, 244 insertions, 152 deletions
diff --git a/third_party/aom/test/test.cmake b/third_party/aom/test/test.cmake index d72a784ad..a02f9203f 100644 --- a/third_party/aom/test/test.cmake +++ b/third_party/aom/test/test.cmake @@ -11,6 +11,7 @@ if (NOT AOM_TEST_TEST_CMAKE_) set(AOM_TEST_TEST_CMAKE_ 1) +include(FindPythonInterp) include(ProcessorCount) include("${AOM_ROOT}/test/test_data_util.cmake") @@ -25,7 +26,6 @@ set(AOM_UNIT_TEST_COMMON_SOURCES "${AOM_ROOT}/test/acm_random.h" "${AOM_ROOT}/test/clear_system_state.h" "${AOM_ROOT}/test/codec_factory.h" - "${AOM_ROOT}/test/convolve_test.cc" "${AOM_ROOT}/test/decode_test_driver.cc" "${AOM_ROOT}/test/decode_test_driver.h" "${AOM_ROOT}/test/function_equivalence_test.h" @@ -35,25 +35,58 @@ set(AOM_UNIT_TEST_COMMON_SOURCES "${AOM_ROOT}/test/util.h" "${AOM_ROOT}/test/video_source.h") -if (CONFIG_ACCOUNTING) +if (NOT BUILD_SHARED_LIBS) set(AOM_UNIT_TEST_COMMON_SOURCES ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/accounting_test.cc") -endif () + "${AOM_ROOT}/test/convolve_test.cc" + "${AOM_ROOT}/test/simd_impl.h") -if (CONFIG_ADAPT_SCAN) - set(AOM_UNIT_TEST_COMMON_SOURCES - ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/scan_test.cc") -endif () - -if (CONFIG_GLOBAL_MOTION OR CONFIG_WARPED_MOTION) + if (HAVE_NEON) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/simd_neon_test.cc") + endif () if (HAVE_SSE2) set(AOM_UNIT_TEST_COMMON_SOURCES ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/warp_filter_test.cc" - "${AOM_ROOT}/test/warp_filter_test_util.cc" - "${AOM_ROOT}/test/warp_filter_test_util.h") + "${AOM_ROOT}/test/simd_sse2_test.cc") + endif () + if (HAVE_SSSE3) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/simd_ssse3_test.cc") + endif () + if (HAVE_SSE4) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/simd_sse4_test.cc") + endif () + if (HAVE_AVX2) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/simd_avx2_test.cc") + endif () + + if (CONFIG_ACCOUNTING) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/accounting_test.cc") + endif () + + if (CONFIG_ADAPT_SCAN) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/scan_test.cc") + endif () + + if (CONFIG_GLOBAL_MOTION OR CONFIG_WARPED_MOTION) + if (HAVE_SSE2) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/warp_filter_test.cc" + "${AOM_ROOT}/test/warp_filter_test_util.cc" + "${AOM_ROOT}/test/warp_filter_test_util.h") + endif () endif () endif () @@ -65,18 +98,23 @@ set(AOM_UNIT_TEST_ENCODER_SOURCES "${AOM_ROOT}/test/altref_test.cc" "${AOM_ROOT}/test/aq_segment_test.cc" "${AOM_ROOT}/test/datarate_test.cc" - "${AOM_ROOT}/test/dct16x16_test.cc" - "${AOM_ROOT}/test/dct32x32_test.cc" "${AOM_ROOT}/test/encode_api_test.cc" "${AOM_ROOT}/test/encode_test_driver.cc" "${AOM_ROOT}/test/encode_test_driver.h" "${AOM_ROOT}/test/error_resilience_test.cc" "${AOM_ROOT}/test/i420_video_source.h" - "${AOM_ROOT}/test/sad_test.cc" "${AOM_ROOT}/test/y4m_test.cc" "${AOM_ROOT}/test/y4m_video_source.h" "${AOM_ROOT}/test/yuv_video_source.h") +if (NOT BUILD_SHARED_LIBS) + set(AOM_UNIT_TEST_ENCODER_SOURCES + ${AOM_UNIT_TEST_ENCODER_SOURCES} + "${AOM_ROOT}/test/dct16x16_test.cc" + "${AOM_ROOT}/test/dct32x32_test.cc" + "${AOM_ROOT}/test/sad_test.cc") +endif () + set(AOM_DECODE_PERF_TEST_SOURCES "${AOM_ROOT}/test/decode_perf_test.cc") set(AOM_ENCODE_PERF_TEST_SOURCES "${AOM_ROOT}/test/encode_perf_test.cc") set(AOM_UNIT_TEST_WEBM_SOURCES "${AOM_ROOT}/test/webm_video_source.h") @@ -85,149 +123,186 @@ set(AOM_TEST_INTRA_PRED_SPEED_SOURCES "${AOM_CONFIG_DIR}/usage_exit.c" "${AOM_ROOT}/test/test_intra_pred_speed.cc") -if (CONFIG_AV1) - set(AOM_UNIT_TEST_COMMON_SOURCES - ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/av1_convolve_optimz_test.cc" - "${AOM_ROOT}/test/av1_convolve_test.cc" - "${AOM_ROOT}/test/av1_txfm_test.cc" - "${AOM_ROOT}/test/av1_txfm_test.h" - "${AOM_ROOT}/test/intrapred_test.cc" - "${AOM_ROOT}/test/lpf_8_test.cc" - "${AOM_ROOT}/test/simd_cmp_impl.h") - - if (CONFIG_CDEF) +if (NOT BUILD_SHARED_LIBS) + if (CONFIG_AV1_DECODER OR CONFIG_AV1_ENCODER) set(AOM_UNIT_TEST_COMMON_SOURCES ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/clpf_test.cc") - endif () + "${AOM_ROOT}/test/av1_convolve_optimz_test.cc" + "${AOM_ROOT}/test/av1_convolve_test.cc" + "${AOM_ROOT}/test/av1_txfm_test.cc" + "${AOM_ROOT}/test/av1_txfm_test.h" + "${AOM_ROOT}/test/intrapred_test.cc" + "${AOM_ROOT}/test/lpf_8_test.cc" + "${AOM_ROOT}/test/motion_vector_test.cc" + "${AOM_ROOT}/test/simd_cmp_impl.h") + + if (CONFIG_CDEF) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/clpf_test.cc" + "${AOM_ROOT}/test/dering_test.cc") + endif () + + if (CONFIG_FILTER_INTRA) + if (HAVE_SSE4_1) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/filterintra_predictors_test.cc") + endif () + endif () + + if (CONFIG_INTRABC) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/intrabc_test.cc") + endif () - if (CONFIG_FILTER_INTRA) - if (HAVE_SSE4_1) + if (CONFIG_LOOP_RESTORATION) set(AOM_UNIT_TEST_COMMON_SOURCES ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/filterintra_predictors_test.cc") + "${AOM_ROOT}/test/hiprec_convolve_test.cc" + "${AOM_ROOT}/test/hiprec_convolve_test_util.cc" + "${AOM_ROOT}/test/hiprec_convolve_test_util.h" + "${AOM_ROOT}/test/selfguided_filter_test.cc") endif () - endif () - set(AOM_UNIT_TEST_COMMON_INTRIN_NEON - ${AOM_UNIT_TEST_COMMON_INTRIN_NEON} - "${AOM_ROOT}/test/simd_cmp_neon.cc" - "${AOM_ROOT}/test/simd_neon_test.cc") - set(AOM_UNIT_TEST_COMMON_INTRIN_SSE2 - ${AOM_UNIT_TEST_COMMON_INTRIN_SSE2} - "${AOM_ROOT}/test/simd_cmp_sse2.cc") - set(AOM_UNIT_TEST_COMMON_INTRIN_SSSE3 - ${AOM_UNIT_TEST_COMMON_INTRIN_SSSE3} - "${AOM_ROOT}/test/simd_cmp_ssse3.cc") - set(AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1 - ${AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1} - "${AOM_ROOT}/test/simd_cmp_sse4.cc") + set(AOM_UNIT_TEST_COMMON_INTRIN_NEON + ${AOM_UNIT_TEST_COMMON_INTRIN_NEON} + "${AOM_ROOT}/test/simd_cmp_neon.cc") + set(AOM_UNIT_TEST_COMMON_INTRIN_SSE2 + ${AOM_UNIT_TEST_COMMON_INTRIN_SSE2} + "${AOM_ROOT}/test/simd_cmp_sse2.cc") + set(AOM_UNIT_TEST_COMMON_INTRIN_SSSE3 + ${AOM_UNIT_TEST_COMMON_INTRIN_SSSE3} + "${AOM_ROOT}/test/simd_cmp_ssse3.cc") + set(AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1 + ${AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1} + "${AOM_ROOT}/test/simd_cmp_sse4.cc") + set(AOM_UNIT_TEST_COMMON_INTRIN_AVX2 + ${AOM_UNIT_TEST_COMMON_INTRIN_AVX2} + "${AOM_ROOT}/test/simd_cmp_avx2.cc") + endif () endif () if (CONFIG_AV1_ENCODER) set(AOM_UNIT_TEST_ENCODER_SOURCES ${AOM_UNIT_TEST_ENCODER_SOURCES} "${AOM_ROOT}/test/active_map_test.cc" - "${AOM_ROOT}/test/arf_freq_test.cc" - "${AOM_ROOT}/test/av1_dct_test.cc" - "${AOM_ROOT}/test/av1_fht16x16_test.cc" - "${AOM_ROOT}/test/av1_fht32x32_test.cc" - "${AOM_ROOT}/test/av1_fht8x8_test.cc" - "${AOM_ROOT}/test/av1_inv_txfm_test.cc" - "${AOM_ROOT}/test/av1_fwd_txfm1d_test.cc" - "${AOM_ROOT}/test/av1_fwd_txfm2d_test.cc" - "${AOM_ROOT}/test/av1_inv_txfm1d_test.cc" - "${AOM_ROOT}/test/av1_inv_txfm2d_test.cc" - "${AOM_ROOT}/test/avg_test.cc" - "${AOM_ROOT}/test/blend_a64_mask_1d_test.cc" - "${AOM_ROOT}/test/blend_a64_mask_test.cc" "${AOM_ROOT}/test/borders_test.cc" "${AOM_ROOT}/test/cpu_speed_test.cc" "${AOM_ROOT}/test/end_to_end_test.cc" - "${AOM_ROOT}/test/error_block_test.cc" - "${AOM_ROOT}/test/fdct4x4_test.cc" - "${AOM_ROOT}/test/fdct8x8_test.cc" "${AOM_ROOT}/test/frame_size_tests.cc" - "${AOM_ROOT}/test/hadamard_test.cc" - "${AOM_ROOT}/test/lossless_test.cc" - "${AOM_ROOT}/test/minmax_test.cc" - "${AOM_ROOT}/test/subtract_test.cc" - "${AOM_ROOT}/test/sum_squares_test.cc" - "${AOM_ROOT}/test/variance_test.cc") - - if (CONFIG_EXT_INTER) - set(AOM_UNIT_TEST_ENCODER_SOURCES - ${AOM_UNIT_TEST_ENCODER_SOURCES} - "${AOM_ROOT}/test/av1_wedge_utils_test.cc" - "${AOM_ROOT}/test/masked_sad_test.cc" - "${AOM_ROOT}/test/masked_variance_test.cc") - endif () + "${AOM_ROOT}/test/lossless_test.cc") - if (CONFIG_EXT_TX) + if (NOT BUILD_SHARED_LIBS) set(AOM_UNIT_TEST_ENCODER_SOURCES ${AOM_UNIT_TEST_ENCODER_SOURCES} - "${AOM_ROOT}/test/av1_fht16x32_test.cc" - "${AOM_ROOT}/test/av1_fht16x8_test.cc" - "${AOM_ROOT}/test/av1_fht32x16_test.cc" - "${AOM_ROOT}/test/av1_fht4x4_test.cc" - "${AOM_ROOT}/test/av1_fht4x8_test.cc" - "${AOM_ROOT}/test/av1_fht8x16_test.cc" - "${AOM_ROOT}/test/av1_fht8x4_test.cc") - - endif () + "${AOM_ROOT}/test/arf_freq_test.cc" + "${AOM_ROOT}/test/av1_dct_test.cc" + "${AOM_ROOT}/test/av1_fht16x16_test.cc" + "${AOM_ROOT}/test/av1_fht32x32_test.cc" + "${AOM_ROOT}/test/av1_fht8x8_test.cc" + "${AOM_ROOT}/test/av1_inv_txfm_test.cc" + "${AOM_ROOT}/test/av1_fwd_txfm1d_test.cc" + "${AOM_ROOT}/test/av1_fwd_txfm2d_test.cc" + "${AOM_ROOT}/test/av1_inv_txfm1d_test.cc" + "${AOM_ROOT}/test/av1_inv_txfm2d_test.cc" + "${AOM_ROOT}/test/avg_test.cc" + "${AOM_ROOT}/test/blend_a64_mask_1d_test.cc" + "${AOM_ROOT}/test/blend_a64_mask_test.cc" + "${AOM_ROOT}/test/error_block_test.cc" + "${AOM_ROOT}/test/fdct4x4_test.cc" + "${AOM_ROOT}/test/fdct8x8_test.cc" + "${AOM_ROOT}/test/hadamard_test.cc" + "${AOM_ROOT}/test/minmax_test.cc" + "${AOM_ROOT}/test/quantize_func_test.cc" + "${AOM_ROOT}/test/subtract_test.cc" + "${AOM_ROOT}/test/sum_squares_test.cc" + "${AOM_ROOT}/test/variance_test.cc") + + if (CONFIG_CONVOLVE_ROUND) + set(AOM_UNIT_TEST_ENCODER_SOURCES + ${AOM_UNIT_TEST_ENCODER_SOURCES} + "${AOM_ROOT}/test/av1_convolve_2d_test.cc" + "${AOM_ROOT}/test/av1_convolve_2d_test_util.cc" + "${AOM_ROOT}/test/av1_convolve_2d_test_util.h" + "${AOM_ROOT}/test/convolve_round_test.cc") + endif () - if (CONFIG_GLOBAL_MOTION) - set(AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1 - ${AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1} - "${AOM_ROOT}/test/corner_match_test.cc") - endif () + if (CONFIG_EXT_INTER) + set(AOM_UNIT_TEST_ENCODER_SOURCES + ${AOM_UNIT_TEST_ENCODER_SOURCES} + "${AOM_ROOT}/test/av1_wedge_utils_test.cc" + "${AOM_ROOT}/test/masked_sad_test.cc" + "${AOM_ROOT}/test/masked_variance_test.cc") + endif () - if (CONFIG_MOTION_VAR) - set(AOM_UNIT_TEST_ENCODER_SOURCES - ${AOM_UNIT_TEST_ENCODER_SOURCES} - "${AOM_ROOT}/test/obmc_sad_test.cc" - "${AOM_ROOT}/test/obmc_variance_test.cc") - endif () + if (CONFIG_EXT_TX) + set(AOM_UNIT_TEST_ENCODER_SOURCES + ${AOM_UNIT_TEST_ENCODER_SOURCES} + "${AOM_ROOT}/test/av1_fht16x32_test.cc" + "${AOM_ROOT}/test/av1_fht16x8_test.cc" + "${AOM_ROOT}/test/av1_fht32x16_test.cc" + "${AOM_ROOT}/test/av1_fht4x4_test.cc" + "${AOM_ROOT}/test/av1_fht4x8_test.cc" + "${AOM_ROOT}/test/av1_fht8x16_test.cc" + "${AOM_ROOT}/test/av1_fht8x4_test.cc") + endif () - if (CONFIG_TX64X64) - set(AOM_UNIT_TEST_ENCODER_SOURCES - ${AOM_UNIT_TEST_ENCODER_SOURCES} - "${AOM_ROOT}/test/av1_fht64x64_test.cc") + if (CONFIG_GLOBAL_MOTION) + set(AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1 + ${AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1} + "${AOM_ROOT}/test/corner_match_test.cc") + endif () + + if (CONFIG_MOTION_VAR) + set(AOM_UNIT_TEST_ENCODER_SOURCES + ${AOM_UNIT_TEST_ENCODER_SOURCES} + "${AOM_ROOT}/test/obmc_sad_test.cc" + "${AOM_ROOT}/test/obmc_variance_test.cc") + endif () + + if (CONFIG_TX64X64) + set(AOM_UNIT_TEST_ENCODER_SOURCES + ${AOM_UNIT_TEST_ENCODER_SOURCES} + "${AOM_ROOT}/test/av1_fht64x64_test.cc") + endif () endif () endif () -if (CONFIG_AV1_DECODER AND CONFIG_AV1_ENCODER) - set(AOM_UNIT_TEST_COMMON_SOURCES - ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/divu_small_test.cc" - "${AOM_ROOT}/test/ethread_test.cc" - "${AOM_ROOT}/test/idct8x8_test.cc" - "${AOM_ROOT}/test/partial_idct_test.cc" - "${AOM_ROOT}/test/superframe_test.cc" - "${AOM_ROOT}/test/binary_codes_test.cc" - "${AOM_ROOT}/test/tile_independence_test.cc") - - if (CONFIG_ANS) +if (NOT BUILD_SHARED_LIBS) + if (CONFIG_AV1_DECODER AND CONFIG_AV1_ENCODER) set(AOM_UNIT_TEST_COMMON_SOURCES ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/ans_codec_test.cc" - "${AOM_ROOT}/test/ans_test.cc") - else () - set(AOM_UNIT_TEST_COMMON_SOURCES - ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/boolcoder_test.cc") - endif () + "${AOM_ROOT}/test/binary_codes_test.cc" + "${AOM_ROOT}/test/divu_small_test.cc" + "${AOM_ROOT}/test/ethread_test.cc" + "${AOM_ROOT}/test/idct8x8_test.cc" + "${AOM_ROOT}/test/partial_idct_test.cc" + "${AOM_ROOT}/test/superframe_test.cc" + "${AOM_ROOT}/test/tile_independence_test.cc") + + if (CONFIG_ANS) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/ans_codec_test.cc" + "${AOM_ROOT}/test/ans_test.cc") + else () + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/boolcoder_test.cc") + endif () - if (CONFIG_EXT_TILE) - set(AOM_UNIT_TEST_COMMON_SOURCES - ${AOM_UNIT_TEST_COMMON_SOURCES} - "${AOM_ROOT}/test/av1_ext_tile_test.cc") + if (CONFIG_EXT_TILE) + set(AOM_UNIT_TEST_COMMON_SOURCES + ${AOM_UNIT_TEST_COMMON_SOURCES} + "${AOM_ROOT}/test/av1_ext_tile_test.cc") + endif () endif () endif () if (CONFIG_HIGHBITDEPTH) - if (CONFIG_AV1_ENCODER) + if (CONFIG_AV1_ENCODER AND NOT BUILD_SHARED_LIBS) set(AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1 ${AOM_UNIT_TEST_COMMON_INTRIN_SSE4_1} "${AOM_ROOT}/test/av1_highbd_iht_test.cc" @@ -242,6 +317,12 @@ if (CONFIG_HIGHBITDEPTH) endif () if (CONFIG_UNIT_TESTS) + find_package(PythonInterp) + if (NOT PYTHONINTERP_FOUND) + message(WARNING "--- Unit tests disabled: Python not found.") + set(CONFIG_UNIT_TESTS 0) + endif () + if (MSVC) # Force static run time to avoid collisions with googletest. include("${AOM_ROOT}/build/cmake/msvc_runtime.cmake") @@ -249,6 +330,11 @@ if (CONFIG_UNIT_TESTS) include_directories( "${AOM_ROOT}/third_party/googletest/src/googletest/src" "${AOM_ROOT}/third_party/googletest/src/googletest/include") + + if (BUILD_SHARED_LIBS AND APPLE) + # Silence an RPATH warning. + set(CMAKE_MACOSX_RPATH 1) + endif () add_subdirectory("${AOM_ROOT}/third_party/googletest/src/googletest" EXCLUDE_FROM_ALL) @@ -263,55 +349,57 @@ endif () # exist before this function is called. function (setup_aom_test_targets) add_library(test_aom_common OBJECT ${AOM_UNIT_TEST_COMMON_SOURCES}) + add_dependencies(test_aom_common aom) if (CONFIG_AV1_DECODER) add_library(test_aom_decoder OBJECT ${AOM_UNIT_TEST_DECODER_SOURCES}) + add_dependencies(test_aom_decoder aom) endif () if (CONFIG_AV1_ENCODER) add_library(test_aom_encoder OBJECT ${AOM_UNIT_TEST_ENCODER_SOURCES}) + add_dependencies(test_aom_encoder aom) endif () - set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} test_aom_common test_aom_decoder - test_aom_encoder PARENT_SCOPE) - add_executable(test_libaom ${AOM_UNIT_TEST_WRAPPER_SOURCES} $<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:test_aom_common>) if (CONFIG_AV1_DECODER) - target_sources(test_libaom PUBLIC + target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:aom_decoder_app_util> $<TARGET_OBJECTS:test_aom_decoder>) if (CONFIG_DECODE_PERF_TESTS AND CONFIG_WEBM_IO) - target_sources(test_libaom PUBLIC ${AOM_DECODE_PERF_TEST_SOURCES}) + target_sources(test_libaom PRIVATE ${AOM_DECODE_PERF_TEST_SOURCES}) endif () endif () if (CONFIG_AV1_ENCODER) - target_sources(test_libaom PUBLIC + target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:test_aom_encoder> $<TARGET_OBJECTS:aom_encoder_app_util>) if (CONFIG_ENCODE_PERF_TESTS) - target_sources(test_libaom PUBLIC ${AOM_ENCODE_PERF_TEST_SOURCES}) + target_sources(test_libaom PRIVATE ${AOM_ENCODE_PERF_TEST_SOURCES}) endif () - add_executable(test_intra_pred_speed - ${AOM_TEST_INTRA_PRED_SPEED_SOURCES} - $<TARGET_OBJECTS:aom_common_app_util>) - target_link_libraries(test_intra_pred_speed ${AOM_LIB_LINK_TYPE} aom gtest) + if (NOT BUILD_SHARED_LIBS) + add_executable(test_intra_pred_speed + ${AOM_TEST_INTRA_PRED_SPEED_SOURCES} + $<TARGET_OBJECTS:aom_common_app_util>) + target_link_libraries(test_intra_pred_speed ${AOM_LIB_LINK_TYPE} + aom gtest) + endif () endif () target_link_libraries(test_libaom ${AOM_LIB_LINK_TYPE} aom gtest) if (CONFIG_LIBYUV) - target_sources(test_libaom PUBLIC $<TARGET_OBJECTS:yuv>) + target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:yuv>) endif () if (CONFIG_WEBM_IO) - target_sources(test_libaom PUBLIC ${AOM_UNIT_TEST_WEBM_SOURCES} - $<TARGET_OBJECTS:webm>) + target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:webm>) endif () if (HAVE_SSE2) add_intrinsics_source_to_target("-msse2" "test_libaom" @@ -331,11 +419,26 @@ function (setup_aom_test_targets) endif () endif () endif () + if (HAVE_AVX2) + add_intrinsics_source_to_target("-mavx2" "test_libaom" + "AOM_UNIT_TEST_COMMON_INTRIN_AVX2") + endif () if (HAVE_NEON) add_intrinsics_source_to_target("${AOM_NEON_INTRIN_FLAG}" "test_libaom" "AOM_UNIT_TEST_COMMON_INTRIN_NEON") endif () + if (NOT ENABLE_IDE_TEST_HOSTING) + if (MSVC OR XCODE) + # Skip creation of test data download and test run targets when generating + # for Visual Studio and Xcode unless the user explicitly requests IDE test + # hosting. This is done to make build cycles in the IDE tolerable when the + # IDE command for build project is used to build AOM. Default behavior in + # IDEs is to build all targets, and the test run takes hours. + return () + endif () + endif () + make_test_data_lists("${AOM_UNIT_TEST_DATA_LIST_FILE}" test_files test_file_checksums) list(LENGTH test_files num_test_files) @@ -366,8 +469,6 @@ function (setup_aom_test_targets) set(num_test_targets 10) endif () - # TODO(tomfinegan): This needs some work for MSVC and Xcode. Executable suffix - # and config based executable output paths are the obvious issues. math(EXPR max_shard_index "${num_test_targets} - 1") foreach (shard_index RANGE ${max_shard_index}) set(test_name "test_${shard_index}") @@ -382,15 +483,6 @@ function (setup_aom_test_targets) endforeach () add_custom_target(runtests) add_dependencies(runtests ${test_targets}) - - if (MSVC) - set_target_properties(${testdata_targets} PROPERTIES - EXCLUDE_FROM_DEFAULT_BUILD TRUE) - set_target_properties(${test_targets} PROPERTIES - EXCLUDE_FROM_DEFAULT_BUILD TRUE) - set_target_properties(testdata runtests PROPERTIES - EXCLUDE_FROM_DEFAULT_BUILD TRUE) - endif () endfunction () endif () # AOM_TEST_TEST_CMAKE_ |