Commit 81279803 authored by Tom Finegan's avatar Tom Finegan
Browse files

Add cmake app targets to a list variable.

Allows for looping over app targets when all targets need
the same update.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: If9e3f6ab50f06c8c26104942455e6bbfac485cb1
parent a0c21f04
...@@ -780,62 +780,60 @@ add_executable(aom_cx_set_ref ...@@ -780,62 +780,60 @@ add_executable(aom_cx_set_ref
"${AOM_ROOT}/examples/aom_cx_set_ref.c" "${AOM_ROOT}/examples/aom_cx_set_ref.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util>) $<TARGET_OBJECTS:aom_encoder_app_util>)
target_link_libraries(aom_cx_set_ref PUBLIC aom)
add_executable(aomdec add_executable(aomdec
"${AOM_ROOT}/aomdec.c" "${AOM_ROOT}/aomdec.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_decoder_app_util>) $<TARGET_OBJECTS:aom_decoder_app_util>)
target_link_libraries(aomdec PUBLIC aom)
add_executable(aomenc add_executable(aomenc
"${AOM_ROOT}/aomenc.c" "${AOM_ROOT}/aomenc.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util> $<TARGET_OBJECTS:aom_encoder_app_util>
$<TARGET_OBJECTS:aom_encoder_stats>) $<TARGET_OBJECTS:aom_encoder_stats>)
target_link_libraries(aomenc PUBLIC aom)
add_executable(decode_to_md5 add_executable(decode_to_md5
"${AOM_ROOT}/examples/decode_to_md5.c" "${AOM_ROOT}/examples/decode_to_md5.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_decoder_app_util>) $<TARGET_OBJECTS:aom_decoder_app_util>)
target_link_libraries(decode_to_md5 PUBLIC aom)
add_executable(decode_with_drops add_executable(decode_with_drops
"${AOM_ROOT}/examples/decode_with_drops.c" "${AOM_ROOT}/examples/decode_with_drops.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_decoder_app_util>) $<TARGET_OBJECTS:aom_decoder_app_util>)
target_link_libraries(decode_with_drops PUBLIC aom)
add_executable(lossless_encoder add_executable(lossless_encoder
"${AOM_ROOT}/examples/lossless_encoder.c" "${AOM_ROOT}/examples/lossless_encoder.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util>) $<TARGET_OBJECTS:aom_encoder_app_util>)
target_link_libraries(lossless_encoder PUBLIC aom)
add_executable(set_maps add_executable(set_maps
"${AOM_ROOT}/examples/set_maps.c" "${AOM_ROOT}/examples/set_maps.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util>) $<TARGET_OBJECTS:aom_encoder_app_util>)
target_link_libraries(set_maps PUBLIC aom)
add_executable(simple_decoder add_executable(simple_decoder
"${AOM_ROOT}/examples/simple_decoder.c" "${AOM_ROOT}/examples/simple_decoder.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_decoder_app_util>) $<TARGET_OBJECTS:aom_decoder_app_util>)
target_link_libraries(simple_decoder PUBLIC aom)
add_executable(simple_encoder add_executable(simple_encoder
"${AOM_ROOT}/examples/simple_encoder.c" "${AOM_ROOT}/examples/simple_encoder.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util>) $<TARGET_OBJECTS:aom_encoder_app_util>)
target_link_libraries(simple_encoder PUBLIC aom)
add_executable(twopass_encoder add_executable(twopass_encoder
"${AOM_ROOT}/examples/twopass_encoder.c" "${AOM_ROOT}/examples/twopass_encoder.c"
$<TARGET_OBJECTS:aom_common_app_util> $<TARGET_OBJECTS:aom_common_app_util>
$<TARGET_OBJECTS:aom_encoder_app_util>) $<TARGET_OBJECTS:aom_encoder_app_util>)
target_link_libraries(twopass_encoder PUBLIC aom)
# List of app targets.
set(AOM_APP_TARGETS aom_cx_set_ref aomdec aomenc decode_to_md5 decode_with_drops
lossless_encoder set_maps simple_decoder simple_encoder twopass_encoder)
foreach (aom_app ${AOM_APP_TARGETS})
target_link_libraries(${aom_app} PUBLIC aom)
endforeach ()
if (CONFIG_LIBYUV) if (CONFIG_LIBYUV)
add_library(yuv OBJECT ${AOM_LIBYUV_SOURCES}) add_library(yuv OBJECT ${AOM_LIBYUV_SOURCES})
...@@ -843,16 +841,10 @@ if (CONFIG_LIBYUV) ...@@ -843,16 +841,10 @@ if (CONFIG_LIBYUV)
include_directories("${AOM_ROOT}/third_party/libyuv/include") include_directories("${AOM_ROOT}/third_party/libyuv/include")
# Add to existing targets. # Add to existing targets.
target_sources(aom_cx_set_ref PUBLIC $<TARGET_OBJECTS:yuv>) foreach (aom_app ${AOM_APP_TARGETS})
target_sources(aomdec PUBLIC $<TARGET_OBJECTS:yuv>) target_sources(${aom_app} PUBLIC $<TARGET_OBJECTS:yuv>)
target_sources(aomenc PUBLIC $<TARGET_OBJECTS:yuv>) set_property(TARGET ${aom_app} PROPERTY LINKER_LANGUAGE CXX)
target_sources(decode_to_md5 PUBLIC $<TARGET_OBJECTS:yuv>) endforeach ()
target_sources(decode_with_drops PUBLIC $<TARGET_OBJECTS:yuv>)
target_sources(lossless_encoder PUBLIC $<TARGET_OBJECTS:yuv>)
target_sources(set_maps PUBLIC $<TARGET_OBJECTS:yuv>)
target_sources(simple_decoder PUBLIC $<TARGET_OBJECTS:yuv>)
target_sources(simple_encoder PUBLIC $<TARGET_OBJECTS:yuv>)
target_sources(twopass_encoder PUBLIC $<TARGET_OBJECTS:yuv>)
endif () endif ()
if (CONFIG_WEBM_IO) if (CONFIG_WEBM_IO)
...@@ -863,16 +855,11 @@ if (CONFIG_WEBM_IO) ...@@ -863,16 +855,11 @@ if (CONFIG_WEBM_IO)
# Add to existing targets. # Add to existing targets.
target_sources(aom_decoder_app_util PUBLIC ${AOM_WEBM_DECODER_SOURCES}) target_sources(aom_decoder_app_util PUBLIC ${AOM_WEBM_DECODER_SOURCES})
target_sources(aom_encoder_app_util PUBLIC ${AOM_WEBM_ENCODER_SOURCES}) target_sources(aom_encoder_app_util PUBLIC ${AOM_WEBM_ENCODER_SOURCES})
target_sources(aom_cx_set_ref PUBLIC $<TARGET_OBJECTS:webm>)
target_sources(aomdec PUBLIC $<TARGET_OBJECTS:webm>) foreach (aom_app ${AOM_APP_TARGETS})
target_sources(aomenc PUBLIC $<TARGET_OBJECTS:webm>) target_sources(${aom_app} PUBLIC $<TARGET_OBJECTS:webm>)
target_sources(decode_to_md5 PUBLIC $<TARGET_OBJECTS:webm>) set_property(TARGET ${aom_app} PROPERTY LINKER_LANGUAGE CXX)
target_sources(decode_with_drops PUBLIC $<TARGET_OBJECTS:webm>) endforeach ()
target_sources(lossless_encoder PUBLIC $<TARGET_OBJECTS:webm>)
target_sources(set_maps PUBLIC $<TARGET_OBJECTS:webm>)
target_sources(simple_decoder PUBLIC $<TARGET_OBJECTS:webm>)
target_sources(simple_encoder PUBLIC $<TARGET_OBJECTS:webm>)
target_sources(twopass_encoder PUBLIC $<TARGET_OBJECTS:webm>)
endif () endif ()
if (CONFIG_UNIT_TESTS) if (CONFIG_UNIT_TESTS)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment