LocalJpeg.cmake: Support multi-config generators

Add the locations of the libjpeg-turbo static library when a
multi-configuration generator such as Visual Studio is used with cmake.
Support the four standard configuration types: Debug, Release,
RelWithDebInfo and MinSizeRel.

Remove a duplicate -DCMAKE_BUILD_TYPE option.

Fixes https://github.com/AOMediaCodec/libavif/issues/2775.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7196858..5811ad4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,7 @@
 * Change avifenc to start in automatic tiling mode.
 * Always forward Unspecified (2) CICP color primaries, transfer characteristics,
   and matrix coefficients to the AV1 encoder. Rely on the 'colr' box instead.
+* LocalJpeg.cmake: Support multi-config generators.
 
 ## [1.2.1] - 2025-03-17
 
diff --git a/cmake/Modules/LocalJpeg.cmake b/cmake/Modules/LocalJpeg.cmake
index 0172432..302d9d9 100644
--- a/cmake/Modules/LocalJpeg.cmake
+++ b/cmake/Modules/LocalJpeg.cmake
@@ -2,22 +2,41 @@
 
 add_library(JPEG::JPEG STATIC IMPORTED GLOBAL)
 
-set(LIB_DIR "${AVIF_SOURCE_DIR}/ext/libjpeg-turbo/build.libavif")
 if(MSVC)
-    set(LIB_FILENAME "${LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg-static${CMAKE_STATIC_LIBRARY_SUFFIX}")
+    set(JPEG_STATIC_SUFFIX "-static")
 else()
-    set(LIB_FILENAME "${LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${CMAKE_STATIC_LIBRARY_SUFFIX}")
+    set(JPEG_STATIC_SUFFIX "")
 endif()
+set(LIB_BASENAME "${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${JPEG_STATIC_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+set(LIB_DIR "${AVIF_SOURCE_DIR}/ext/libjpeg-turbo/build.libavif")
+set(LIB_FILENAME "${LIB_DIR}/${LIB_BASENAME}")
 if(EXISTS "${LIB_FILENAME}")
     message(STATUS "libavif(AVIF_JPEG=LOCAL): ${LIB_FILENAME} found, using for local JPEG")
+    set_target_properties(JPEG::JPEG PROPERTIES IMPORTED_LOCATION "${LIB_FILENAME}")
     set(JPEG_INCLUDE_DIR "${AVIF_SOURCE_DIR}/ext/libjpeg-turbo")
 else()
     message(STATUS "libavif(AVIF_JPEG=LOCAL): ${LIB_FILENAME} not found, fetching")
     set(LIB_DIR "${CMAKE_CURRENT_BINARY_DIR}/libjpeg/src/libjpeg-build")
-    if(MSVC)
-        set(LIB_FILENAME "${LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg-static${CMAKE_STATIC_LIBRARY_SUFFIX}")
+    get_property(JPEG_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+    if(JPEG_IS_MULTI_CONFIG)
+        set(LIB_FILENAME_DEBUG "${LIB_DIR}/Debug/${LIB_BASENAME}")
+        set(LIB_FILENAME_RELEASE "${LIB_DIR}/Release/${LIB_BASENAME}")
+        set(LIB_FILENAME_RELWITHDEBINFO "${LIB_DIR}/RelWithDebInfo/${LIB_BASENAME}")
+        set(LIB_FILENAME_MINSIZEREL "${LIB_DIR}/MinSizeRel/${LIB_BASENAME}")
+        set(BUILD_BYPRODUCTS "${LIB_FILENAME_DEBUG}" "${LIB_FILENAME_RELEASE}" "${LIB_FILENAME_RELWITHDEBINFO}"
+                             "${LIB_FILENAME_MINSIZEREL}"
+        )
+        set_target_properties(
+            JPEG::JPEG
+            PROPERTIES IMPORTED_LOCATION_DEBUG "${LIB_FILENAME_DEBUG}"
+                       IMPORTED_LOCATION_RELEASE "${LIB_FILENAME_RELEASE}"
+                       IMPORTED_LOCATION_RELWITHDEBINFO "${LIB_FILENAME_RELWITHDEBINFO}"
+                       IMPORTED_LOCATION_MINSIZEREL "${LIB_FILENAME_MINSIZEREL}"
+        )
     else()
-        set(LIB_FILENAME "${LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${CMAKE_STATIC_LIBRARY_SUFFIX}")
+        set(LIB_FILENAME "${LIB_DIR}/${LIB_BASENAME}")
+        set(BUILD_BYPRODUCTS "${LIB_FILENAME}")
+        set_target_properties(JPEG::JPEG PROPERTIES IMPORTED_LOCATION "${LIB_FILENAME}")
     endif()
 
     set(JPEG_INSTALL_DIR "${prefix}/libjpeg-install")
@@ -37,25 +56,24 @@
         LIST_SEPARATOR |
         BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> --target jpeg-static
         CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-                   -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                    -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
                    -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}
                    -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}
-                   -DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL}
                    -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO}
+                   -DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL}
                    -DENABLE_SHARED=OFF
                    -DENABLE_STATIC=ON
                    -DCMAKE_BUILD_TYPE=Release
                    -DWITH_TURBOJPEG=OFF
                    -DWITH_CRT_DLL=ON
-        BUILD_BYPRODUCTS "${LIB_FILENAME}"
+        BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS}
         INSTALL_COMMAND ""
     )
     add_dependencies(JPEG::JPEG libjpeg)
     set(JPEG_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/libjpeg/src/libjpeg)
 endif()
 
-set_target_properties(JPEG::JPEG PROPERTIES IMPORTED_LOCATION "${LIB_FILENAME}" AVIF_LOCAL ON)
+set_target_properties(JPEG::JPEG PROPERTIES AVIF_LOCAL ON)
 target_include_directories(JPEG::JPEG INTERFACE "${JPEG_INCLUDE_DIR}")
 
 # Also add the build directory path because it contains jconfig.h,