Use CMake OBJECT libraries instead of STATIC

Now that the cmake_minimum_required version is 3.13, OBJECT libraries
are convenient. See
https://github.com/AOMediaCodec/libavif/pull/865#issuecomment-1062050220
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cf4ebad..93b7dea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -450,14 +450,11 @@
     find_package(JPEG REQUIRED)
 
     add_library(
-        avif_apps STATIC # Static so it does not have to be installed.
-        apps/shared/avifjpeg.c apps/shared/iccjpeg.c apps/shared/avifpng.c apps/shared/avifutil.c apps/shared/y4m.c
+        avif_apps OBJECT apps/shared/avifjpeg.c apps/shared/iccjpeg.c apps/shared/avifpng.c apps/shared/avifutil.c
+                         apps/shared/y4m.c
     )
-    target_link_libraries(avif_apps avif ${PNG_LIBRARY} ${ZLIB_LIBRARY} ${JPEG_LIBRARY})
-    target_include_directories(
-        avif_apps PRIVATE $<TARGET_PROPERTY:avif,INTERFACE_INCLUDE_DIRECTORIES> ${PNG_PNG_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}
-        INTERFACE apps/shared
-    )
+    target_link_libraries(avif_apps avif ${AVIF_PLATFORM_LIBRARIES} ${PNG_LIBRARY} ${ZLIB_LIBRARY} ${JPEG_LIBRARY})
+    target_include_directories(avif_apps PRIVATE ${PNG_PNG_INCLUDE_DIR} ${JPEG_INCLUDE_DIR} INTERFACE apps/shared)
 endif()
 
 if(AVIF_BUILD_APPS)
@@ -465,12 +462,12 @@
     if(AVIF_LOCAL_LIBGAV1 OR AVIF_CODEC_LIBRARIES MATCHES vmaf)
         set_target_properties(avifenc PROPERTIES LINKER_LANGUAGE "CXX")
     endif()
-    target_link_libraries(avifenc avif avif_apps ${AVIF_PLATFORM_LIBRARIES})
+    target_link_libraries(avifenc avif_apps)
     add_executable(avifdec apps/avifdec.c)
     if(AVIF_LOCAL_LIBGAV1 OR AVIF_CODEC_LIBRARIES MATCHES vmaf)
         set_target_properties(avifdec PROPERTIES LINKER_LANGUAGE "CXX")
     endif()
-    target_link_libraries(avifdec avif avif_apps ${AVIF_PLATFORM_LIBRARIES})
+    target_link_libraries(avifdec avif_apps)
 
     if(NOT SKIP_INSTALL_APPS AND NOT SKIP_INSTALL_ALL)
         install(
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 93602d3..9ef98b7 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -27,11 +27,14 @@
 ################################################################################
 # Unit tests
 
-add_executable(avifincrtest unit/avifincrtest.c unit/avifincrtest_helpers.c)
+add_library(avifincrtest_helpers OBJECT unit/avifincrtest_helpers.c)
+target_link_libraries(avifincrtest_helpers avif ${AVIF_PLATFORM_LIBRARIES})
+
+add_executable(avifincrtest unit/avifincrtest.c)
 if(AVIF_LOCAL_LIBGAV1)
     set_target_properties(avifincrtest PROPERTIES LINKER_LANGUAGE "CXX")
 endif()
-target_link_libraries(avifincrtest avif ${AVIF_PLATFORM_LIBRARIES})
+target_link_libraries(avifincrtest avifincrtest_helpers)
 add_test(NAME avifincrtest COMMAND avifincrtest ${CMAKE_CURRENT_SOURCE_DIR}/data/sofa_grid1x5_420.avif)
 
 add_executable(avifmetadatatest unit/avifmetadatatest.c)
@@ -62,13 +65,16 @@
         find_package(GTest REQUIRED)
     endif()
 
-    add_executable(avifgridapitest unit/avifgridapitest.cc unit/aviftest_helpers.cc)
-    target_link_libraries(avifgridapitest avif ${AVIF_PLATFORM_LIBRARIES} ${GTEST_BOTH_LIBRARIES})
+    add_library(aviftest_helpers OBJECT unit/aviftest_helpers.cc)
+    target_link_libraries(aviftest_helpers avif ${AVIF_PLATFORM_LIBRARIES})
+
+    add_executable(avifgridapitest unit/avifgridapitest.cc)
+    target_link_libraries(avifgridapitest aviftest_helpers ${GTEST_BOTH_LIBRARIES})
     target_include_directories(avifgridapitest PRIVATE ${GTEST_INCLUDE_DIRS})
     add_test(NAME avifgridapitest COMMAND avifgridapitest)
 
-    add_executable(avify4mtest unit/avify4mtest.cc unit/aviftest_helpers.cc)
-    target_link_libraries(avify4mtest avif avif_apps ${AVIF_PLATFORM_LIBRARIES} ${GTEST_BOTH_LIBRARIES})
+    add_executable(avify4mtest unit/avify4mtest.cc)
+    target_link_libraries(avify4mtest aviftest_helpers avif_apps ${GTEST_BOTH_LIBRARIES})
     target_include_directories(avify4mtest PRIVATE ${GTEST_INCLUDE_DIRS})
     add_test(NAME avify4mtest COMMAND avify4mtest)
 else()