Skip to content

Commit

Permalink
Embed the manifest in a resource-definition script
Browse files Browse the repository at this point in the history
Remove AVIF_TEST_UTF8.
  • Loading branch information
wantehchang committed Dec 28, 2023
1 parent dbb8111 commit 3fbb6ca
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 22 deletions.
21 changes: 15 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -668,16 +668,22 @@ endif()

if(AVIF_BUILD_APPS)
add_executable(avifenc apps/avifenc.c)
if(WIN32 AND NOT MINGW)
target_sources(avifenc PRIVATE apps/utf8.manifest)
if(WIN32)
target_sources(avifenc PRIVATE apps/utf8.rc)
if(NOT MINGW)
target_link_options(avifenc PRIVATE /MANIFEST:NO)
endif()
endif()
if(AVIF_USE_CXX)
set_target_properties(avifenc PROPERTIES LINKER_LANGUAGE "CXX")
endif()
target_link_libraries(avifenc avif_apps)
add_executable(avifdec apps/avifdec.c)
if(WIN32 AND NOT MINGW)
target_sources(avifdec PRIVATE apps/utf8.manifest)
if(WIN32)
target_sources(avifdec PRIVATE apps/utf8.rc)
if(NOT MINGW)
target_link_options(avifdec PRIVATE /MANIFEST:NO)
endif()
endif()
if(AVIF_USE_CXX)
set_target_properties(avifdec PROPERTIES LINKER_LANGUAGE "CXX")
Expand Down Expand Up @@ -710,8 +716,11 @@ if(AVIF_BUILD_APPS)
)

add_executable(avifgainmaputil "${AVIFGAINMAPUTIL_SRCS}")
if(WIN32 AND NOT MINGW)
target_sources(avifgainmaputil PRIVATE apps/utf8.manifest)
if(WIN32)
target_sources(avifgainmaputil PRIVATE apps/utf8.rc)
if(NOT MINGW)
target_link_options(avifgainmaputil PRIVATE /MANIFEST:NO)
endif()
endif()
set_target_properties(avifgainmaputil PROPERTIES LINKER_LANGUAGE "CXX")
target_include_directories(avifgainmaputil PRIVATE apps/avifgainmaputil/)
Expand Down
3 changes: 3 additions & 0 deletions apps/utf8.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include <winuser.h>

CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "utf8.manifest"
12 changes: 5 additions & 7 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -226,18 +226,16 @@ if(AVIF_BUILD_APPS)
# When building apps, test the avifenc/avifdec.
# 'are_images_equal' is used to make sure inputs/outputs are unchanged.
add_executable(are_images_equal gtest/are_images_equal.cc)
if(WIN32 AND NOT MINGW)
target_sources(are_images_equal PRIVATE ${CMAKE_SOURCE_DIR}/apps/utf8.manifest)
if(WIN32)
target_sources(are_images_equal PRIVATE ${CMAKE_SOURCE_DIR}/apps/utf8.rc)
if(NOT MINGW)
target_link_options(are_images_equal PRIVATE /MANIFEST:NO)
endif()
endif()
target_link_libraries(are_images_equal aviftest_helpers)
add_test(NAME test_cmd COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/test_cmd.sh ${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/data
)
set_tests_properties(test_cmd PROPERTIES ENVIRONMENT "AVIF_TEST_UTF8=1")
if(MINGW)
# Does not support manifest files.
set_tests_properties(test_cmd PROPERTIES ENVIRONMENT "AVIF_TEST_UTF8=0")
endif()
add_test(NAME test_cmd_animation COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/test_cmd_animation.sh ${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/data
)
Expand Down
16 changes: 7 additions & 9 deletions tests/test_cmd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,13 @@ pushd ${TMP_DIR}
"${AVIFENC}" -s 8 "${INPUT_Y4M}" -o "${ENCODED_FILE}"
"${AVIFDEC}" "${ENCODED_FILE}" "${DECODED_FILE}"
"${ARE_IMAGES_EQUAL}" "${INPUT_Y4M}" "${DECODED_FILE}" 0 && exit 1
if [[ "${AVIF_TEST_UTF8}" == "1" ]]; then
cp ${INPUT_Y4M} ${INPUT_UTF8_Y4M}
"${AVIFENC}" -s 8 "${INPUT_UTF8_Y4M}" -o "${ENCODED_UTF8_FILE}"
"${AVIFDEC}" "${ENCODED_UTF8_FILE}" "${DECODED_UTF8_FILE}"
RET=0
"${ARE_IMAGES_EQUAL}" "${INPUT_UTF8_Y4M}" "${DECODED_UTF8_FILE}" 0 || RET=$?
if [[ ${RET} -ne 1 ]]; then
exit 1
fi
cp ${INPUT_Y4M} ${INPUT_UTF8_Y4M}
"${AVIFENC}" -s 8 "${INPUT_UTF8_Y4M}" -o "${ENCODED_UTF8_FILE}"
"${AVIFDEC}" "${ENCODED_UTF8_FILE}" "${DECODED_UTF8_FILE}"
RET=0
"${ARE_IMAGES_EQUAL}" "${INPUT_UTF8_Y4M}" "${DECODED_UTF8_FILE}" 0 || RET=$?
if [[ ${RET} -ne 1 ]]; then
exit 1
fi

# Argument parsing test with filenames starting with a dash.
Expand Down

0 comments on commit 3fbb6ca

Please sign in to comment.