CMake test target tweaks.
Exclude the test targets from Visual Studio and Xcode generation runs unless explicitly requested. The test run takes hours, and default behavior in the IDEs is to build all targets. BUG=aomedia:76 Change-Id: I37e9904bd8d373a399d7d5fa49fe02771011f9d2
This commit is contained in:
Родитель
875a6675a7
Коммит
375ee84923
|
@ -20,6 +20,8 @@ option(ENABLE_CCACHE "Enable ccache support." OFF)
|
||||||
option(ENABLE_DISTCC "Enable distcc support." OFF)
|
option(ENABLE_DISTCC "Enable distcc support." OFF)
|
||||||
option(ENABLE_DOCS "Enable documentation generation (doxygen required)." ON)
|
option(ENABLE_DOCS "Enable documentation generation (doxygen required)." ON)
|
||||||
option(ENABLE_NASM "Use nasm instead of yasm for x86 assembly." OFF)
|
option(ENABLE_NASM "Use nasm instead of yasm for x86 assembly." OFF)
|
||||||
|
option(ENABLE_IDE_TEST_HOSTING
|
||||||
|
"Enables running tests within IDEs like Visual Studio and Xcode." OFF)
|
||||||
|
|
||||||
project(AOM C CXX)
|
project(AOM C CXX)
|
||||||
|
|
||||||
|
|
|
@ -336,6 +336,17 @@ function (setup_aom_test_targets)
|
||||||
"AOM_UNIT_TEST_COMMON_INTRIN_NEON")
|
"AOM_UNIT_TEST_COMMON_INTRIN_NEON")
|
||||||
endif ()
|
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}"
|
make_test_data_lists("${AOM_UNIT_TEST_DATA_LIST_FILE}"
|
||||||
test_files test_file_checksums)
|
test_files test_file_checksums)
|
||||||
list(LENGTH test_files num_test_files)
|
list(LENGTH test_files num_test_files)
|
||||||
|
@ -366,8 +377,6 @@ function (setup_aom_test_targets)
|
||||||
set(num_test_targets 10)
|
set(num_test_targets 10)
|
||||||
endif ()
|
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")
|
math(EXPR max_shard_index "${num_test_targets} - 1")
|
||||||
foreach (shard_index RANGE ${max_shard_index})
|
foreach (shard_index RANGE ${max_shard_index})
|
||||||
set(test_name "test_${shard_index}")
|
set(test_name "test_${shard_index}")
|
||||||
|
@ -382,15 +391,6 @@ function (setup_aom_test_targets)
|
||||||
endforeach ()
|
endforeach ()
|
||||||
add_custom_target(runtests)
|
add_custom_target(runtests)
|
||||||
add_dependencies(runtests ${test_targets})
|
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 ()
|
endfunction ()
|
||||||
|
|
||||||
endif () # AOM_TEST_TEST_CMAKE_
|
endif () # AOM_TEST_TEST_CMAKE_
|
||||||
|
|
Загрузка…
Ссылка в новой задаче