Skip to content

Commit

Permalink
Embed the manifest in a resource-definition script
Browse files Browse the repository at this point in the history
  • Loading branch information
wantehchang committed Dec 25, 2023
1 parent dbb8111 commit 29aa4d5
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 12 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>

1 RT_MANIFEST "utf8.manifest"
11 changes: 5 additions & 6 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -226,18 +226,17 @@ 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

0 comments on commit 29aa4d5

Please sign in to comment.