Skip to content

Commit 4ff27af

Browse files
committed
cmake: allow overriding SDLIMAGE_DYNAMIC_<XXX> variables
CFLAGS are assumed to be configured through CMAKE_C_FLAGS
1 parent fd481c6 commit 4ff27af

File tree

4 files changed

+225
-171
lines changed

4 files changed

+225
-171
lines changed

CMakeLists.txt

+101-70
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,9 @@ if(SDLIMAGE_AVIF)
531531
target_link_options(avif PRIVATE "-Wl,--no-undefined")
532532
endif()
533533
endif()
534+
elseif(SDLIMAGE_AVIF_SHARED AND DEFINED SDLIMAGE_DYNAMIC_AVIF AND EXISTS "${SDLIMAGE_DYNAMIC_AVIF}")
535+
message(STATUS "${PROJECT_NAME}: Using libavif from CMake variable")
536+
set(SDLIMAGE_AVIF_ENABLED TRUE)
534537
else()
535538
find_package(libavif "${LIBAVIF_MINIMUM_VERSION}" QUIET ${required})
536539
if(libavif_FOUND)
@@ -550,17 +553,19 @@ if(SDLIMAGE_AVIF)
550553
SDL_IMAGE_SAVE_AVIF=$<BOOL:${SDLIMAGE_AVIF_SAVE}>
551554
)
552555
if(SDLIMAGE_AVIF_SHARED)
553-
target_include_directories(${sdl3_image_target_name} PRIVATE
554-
$<TARGET_PROPERTY:avif,INCLUDE_DIRECTORIES>
555-
$<TARGET_PROPERTY:avif,INTERFACE_INCLUDE_DIRECTORIES>
556-
$<TARGET_PROPERTY:avif,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
557-
)
558-
target_get_dynamic_library(dynamic_avif avif)
559-
message(STATUS "Dynamic libavif: ${dynamic_avif}")
560-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_AVIF_DYNAMIC=\"${dynamic_avif}\"")
561-
if(SDLIMAGE_AVIF_VENDORED)
562-
add_dependencies(${sdl3_image_target_name} avif)
556+
if(NOT DEFINED SDLIMAGE_DYNAMIC_AVIF)
557+
target_include_directories(${sdl3_image_target_name} PRIVATE
558+
$<TARGET_PROPERTY:avif,INCLUDE_DIRECTORIES>
559+
$<TARGET_PROPERTY:avif,INTERFACE_INCLUDE_DIRECTORIES>
560+
$<TARGET_PROPERTY:avif,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
561+
)
562+
if(SDLIMAGE_AVIF_VENDORED)
563+
add_dependencies(${sdl3_image_target_name} avif)
564+
endif()
563565
endif()
566+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_AVIF avif)
567+
message(STATUS "Dynamic libavif: ${SDLIMAGE_DYNAMIC_AVIF}")
568+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_AVIF_DYNAMIC=\"${SDLIMAGE_DYNAMIC_AVIF}\"")
564569
else()
565570
target_link_libraries(${sdl3_image_target_name} PRIVATE avif)
566571
endif()
@@ -602,6 +607,9 @@ if(SDLIMAGE_JPG)
602607
if(NOT SDLIMAGE_JPG_SHARED)
603608
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:jpeg>)
604609
endif()
610+
elseif(SDLIMAGE_JPG_SHARED AND DEFINED SDLIMAGE_DYNAMIC_JPEG AND EXISTS "${SDLIMAGE_DYNAMIC_JPEG}")
611+
message(STATUS "${PROJECT_NAME}: Using libjpeg from CMake variable")
612+
set(SDLIMAGE_JPG_ENABLED TRUE)
605613
else()
606614
find_package(JPEG ${required})
607615
if(JPEG_FOUND)
@@ -616,17 +624,19 @@ if(SDLIMAGE_JPG)
616624
endif()
617625
if(SDLIMAGE_JPG_ENABLED)
618626
if(SDLIMAGE_JPG_SHARED)
619-
target_include_directories(${sdl3_image_target_name} PRIVATE
620-
$<TARGET_PROPERTY:JPEG::JPEG,INCLUDE_DIRECTORIES>
621-
$<TARGET_PROPERTY:JPEG::JPEG,INTERFACE_INCLUDE_DIRECTORIES>
622-
$<TARGET_PROPERTY:JPEG::JPEG,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
623-
)
624-
target_get_dynamic_library(dynamic_jpeg JPEG::JPEG)
625-
message(STATUS "Dynamic libjpeg: ${dynamic_jpeg}")
626-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_JPG_DYNAMIC=\"${dynamic_jpeg}\"")
627-
if(SDLIMAGE_JPG_VENDORED)
628-
add_dependencies(${sdl3_image_target_name} JPEG::JPEG)
627+
if(NOT DEFINED SDLIMAGE_DYNAMIC_JPEG)
628+
target_include_directories(${sdl3_image_target_name} PRIVATE
629+
$<TARGET_PROPERTY:JPEG::JPEG,INCLUDE_DIRECTORIES>
630+
$<TARGET_PROPERTY:JPEG::JPEG,INTERFACE_INCLUDE_DIRECTORIES>
631+
$<TARGET_PROPERTY:JPEG::JPEG,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
632+
)
633+
if(SDLIMAGE_JPG_VENDORED)
634+
add_dependencies(${sdl3_image_target_name} JPEG::JPEG)
635+
endif()
629636
endif()
637+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_JPEG JPEG::JPEG)
638+
message(STATUS "Dynamic libjpeg: ${SDLIMAGE_DYNAMIC_JPEG}")
639+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_JPG_DYNAMIC=\"${SDLIMAGE_DYNAMIC_JPEG}\"")
630640
else()
631641
target_link_libraries(${sdl3_image_target_name} PRIVATE JPEG::JPEG)
632642
endif()
@@ -684,6 +694,9 @@ if(SDLIMAGE_JXL)
684694
if(NOT TARGET libjxl::libjxl)
685695
add_library(libjxl::libjxl ALIAS ${jxl_lib})
686696
endif()
697+
elseif(SDLIMAGE_JXL_SHARED AND DEFINED SDLIMAGE_DYNAMIC_JXL AND EXISTS "${SDLIMAGE_DYNAMIC_JXL}")
698+
message(STATUS "${PROJECT_NAME}: Using libjxl from CMake variable")
699+
set(SDLIMAGE_JXL_ENABLED TRUE)
687700
else()
688701
find_package(libjxl ${required})
689702
if(libjxl_FOUND)
@@ -700,17 +713,19 @@ if(SDLIMAGE_JXL)
700713
if(SDLIMAGE_JXL_ENABLED)
701714
target_compile_definitions(${sdl3_image_target_name} PRIVATE LOAD_JXL)
702715
if(SDLIMAGE_JXL_SHARED)
703-
target_include_directories(${sdl3_image_target_name} PRIVATE
704-
$<TARGET_PROPERTY:libjxl::libjxl,INCLUDE_DIRECTORIES>
705-
$<TARGET_PROPERTY:libjxl::libjxl,INTERFACE_INCLUDE_DIRECTORIES>
706-
$<TARGET_PROPERTY:libjxl::libjxl,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
707-
)
708-
target_get_dynamic_library(dynamic_jxl libjxl::libjxl)
709-
message(STATUS "Dynamic libjxl: ${dynamic_jxl}")
710-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_JXL_DYNAMIC=\"${dynamic_jxl}\"")
711-
if(SDLIMAGE_JXL_VENDORED)
712-
add_dependencies(${sdl3_image_target_name} libjxl::libjxl)
716+
if(NOT DEFINED SDLIMAGE_DYNAMIC_JXL)
717+
target_include_directories(${sdl3_image_target_name} PRIVATE
718+
$<TARGET_PROPERTY:libjxl::libjxl,INCLUDE_DIRECTORIES>
719+
$<TARGET_PROPERTY:libjxl::libjxl,INTERFACE_INCLUDE_DIRECTORIES>
720+
$<TARGET_PROPERTY:libjxl::libjxl,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
721+
)
722+
if(SDLIMAGE_JXL_VENDORED)
723+
add_dependencies(${sdl3_image_target_name} libjxl::libjxl)
724+
endif()
713725
endif()
726+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_JXL libjxl::libjxl)
727+
message(STATUS "Dynamic libjxl: ${SDLIMAGE_DYNAMIC_JXL}")
728+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_JXL_DYNAMIC=\"${SDLIMAGE_DYNAMIC_JXL}\"")
714729
else()
715730
target_link_libraries(${sdl3_image_target_name} PRIVATE libjxl::libjxl)
716731
endif()
@@ -766,6 +781,9 @@ if(SDLIMAGE_PNG)
766781
list(APPEND PC_REQUIRES zlib)
767782
endif()
768783
endif()
784+
elseif(SDLIMAGE_PNG_SHARED AND DEFINED SDLIMAGE_DYNAMIC_PNG AND EXISTS "${SDLIMAGE_DYNAMIC_PNG}")
785+
message(STATUS "${PROJECT_NAME}: Using libpng from CMake variable")
786+
set(SDLIMAGE_PNG_ENABLED TRUE)
769787
else()
770788
find_package(PNG ${required})
771789
if(PNG_FOUND)
@@ -780,17 +798,19 @@ if(SDLIMAGE_PNG)
780798
endif()
781799
if(SDLIMAGE_PNG_ENABLED)
782800
if(SDLIMAGE_PNG_SHARED)
783-
target_include_directories(${sdl3_image_target_name} PRIVATE
784-
$<TARGET_PROPERTY:PNG::PNG,INCLUDE_DIRECTORIES>
785-
$<TARGET_PROPERTY:PNG::PNG,INTERFACE_INCLUDE_DIRECTORIES>
786-
$<TARGET_PROPERTY:PNG::PNG,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
787-
)
788-
target_get_dynamic_library(dynamic_png PNG::PNG)
789-
message(STATUS "Dynamic libpng: ${dynamic_png}")
790-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_PNG_DYNAMIC=\"${dynamic_png}\"")
791-
if(SDLIMAGE_PNG_VENDORED)
792-
add_dependencies(${sdl3_image_target_name} PNG::PNG)
801+
if(NOT DEFINED SDLIMAGE_DYNAMIC_PNG)
802+
target_include_directories(${sdl3_image_target_name} PRIVATE
803+
$<TARGET_PROPERTY:PNG::PNG,INCLUDE_DIRECTORIES>
804+
$<TARGET_PROPERTY:PNG::PNG,INTERFACE_INCLUDE_DIRECTORIES>
805+
$<TARGET_PROPERTY:PNG::PNG,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
806+
)
807+
if(SDLIMAGE_PNG_VENDORED)
808+
add_dependencies(${sdl3_image_target_name} PNG::PNG)
809+
endif()
793810
endif()
811+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_PNG PNG::PNG)
812+
message(STATUS "Dynamic libpng: ${SDLIMAGE_DYNAMIC_PNG}")
813+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_PNG_DYNAMIC=\"${SDLIMAGE_DYNAMIC_PNG}\"")
794814
else()
795815
target_link_libraries(${sdl3_image_target_name} PRIVATE PNG::PNG)
796816
endif()
@@ -868,7 +888,7 @@ if(SDLIMAGE_TIF)
868888
add_subdirectory(external/libtiff EXCLUDE_FROM_ALL)
869889
register_license(tiff external/libtiff/LICENSE.md)
870890
add_library(TIFF::TIFF ALIAS tiff)
871-
set(SDL2IMAGE_TIF_TARGET "TIFF::tiff")
891+
set(SDLIMAGE_TIF_TARGET "TIFF::tiff")
872892
if(SDLIMAGE_TIF_SHARED OR NOT SDLIMAGE_BUILD_SHARED_LIBS)
873893
list(APPEND INSTALL_EXTRA_TARGETS tiff)
874894
endif()
@@ -877,6 +897,10 @@ if(SDLIMAGE_TIF)
877897
if(NOT SDLIMAGE_TIF_SHARED)
878898
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:tiff>)
879899
endif()
900+
elseif(SDLIMAGE_TIF_SHARED AND DEFINED SDLIMAGE_DYNAMIC_TIF AND EXISTS "${SDLIMAGE_DYNAMIC_TIF}")
901+
message(STATUS "${PROJECT_NAME}: Using libtiff from CMake variable")
902+
set(SDLIMAGE_TIF_ENABLED TRUE)
903+
set(SDLIMAGE_TIF_TARGET "tiff-non-existing-target")
880904
else()
881905
find_package(TIFF ${required})
882906
if(TIFF_FOUND)
@@ -888,9 +912,9 @@ if(SDLIMAGE_TIF)
888912
if(TARGET TIFF::tiff)
889913
# introduced in CMake 3.28
890914
# TIFF::TIFF still exists, but it is an INTERFACE library linking to TIFF::tiff (no ALIAS library)
891-
set(SDL2IMAGE_TIF_TARGET "TIFF::tiff")
915+
set(SDLIMAGE_TIF_TARGET "TIFF::tiff")
892916
else()
893-
set(SDL2IMAGE_TIF_TARGET "TIFF::TIFF")
917+
set(SDLIMAGE_TIF_TARGET "TIFF::TIFF")
894918
endif()
895919
else()
896920
message(${fatal_error} "libtiff NOT found")
@@ -899,19 +923,21 @@ if(SDLIMAGE_TIF)
899923
if(SDLIMAGE_TIF_ENABLED)
900924
target_compile_definitions(${sdl3_image_target_name} PRIVATE LOAD_TIF)
901925
if(SDLIMAGE_TIF_SHARED)
902-
target_include_directories(${sdl3_image_target_name} PRIVATE
903-
$<TARGET_PROPERTY:${SDL2IMAGE_TIF_TARGET},INCLUDE_DIRECTORIES>
904-
$<TARGET_PROPERTY:${SDL2IMAGE_TIF_TARGET},INTERFACE_INCLUDE_DIRECTORIES>
905-
$<TARGET_PROPERTY:${SDL2IMAGE_TIF_TARGET},INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
906-
)
907-
target_get_dynamic_library(dynamic_tif ${SDL2IMAGE_TIF_TARGET})
908-
message(STATUS "Dynamic libtiff: ${dynamic_tif}")
909-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_TIF_DYNAMIC=\"${dynamic_tif}\"")
910-
if(SDLIMAGE_TIF_VENDORED)
911-
add_dependencies(${sdl3_image_target_name} ${SDL2IMAGE_TIF_TARGET})
926+
if(NOT DEFINED SDLIMAGE_DYNAMIC_TIF)
927+
target_include_directories(${sdl3_image_target_name} PRIVATE
928+
$<TARGET_PROPERTY:${SDLIMAGE_TIF_TARGET},INCLUDE_DIRECTORIES>
929+
$<TARGET_PROPERTY:${SDLIMAGE_TIF_TARGET},INTERFACE_INCLUDE_DIRECTORIES>
930+
$<TARGET_PROPERTY:${SDLIMAGE_TIF_TARGET},INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
931+
)
932+
if(SDLIMAGE_TIF_VENDORED)
933+
add_dependencies(${sdl3_image_target_name} ${SDLIMAGE_TIF_TARGET})
934+
endif()
912935
endif()
936+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_TIF ${SDLIMAGE_TIF_TARGET})
937+
message(STATUS "Dynamic libtiff: ${SDLIMAGE_DYNAMIC_TIF}")
938+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_TIF_DYNAMIC=\"${SDLIMAGE_DYNAMIC_TIF}\"")
913939
else()
914-
target_link_libraries(${sdl3_image_target_name} PRIVATE ${SDL2IMAGE_TIF_TARGET})
940+
target_link_libraries(${sdl3_image_target_name} PRIVATE ${SDLIMAGE_TIF_TARGET})
915941
endif()
916942
endif()
917943
endif()
@@ -941,6 +967,9 @@ if(SDLIMAGE_WEBP)
941967
set_target_properties(webpdemux PROPERTIES EXPORT_NAME "external_webpdemux")
942968
set_target_properties(sharpyuv PROPERTIES EXPORT_NAME "external_sharpyuv")
943969
add_library(SDL3_image::external_libwebp ALIAS webp)
970+
elseif(SDLIMAGE_WEBP_SHARED AND DEFINED SDLIMAGE_DYNAMIC_WEBP AND EXISTS "${SDLIMAGE_DYNAMIC_WEBP}" AND DEFINED SDLIMAGE_DYNAMIC_WEBPDEMUX AND EXISTS "${SDLIMAGE_DYNAMIC_WEBPDEMUX}")
971+
message(STATUS "${PROJECT_NAME}: Using libwebp from CMake variable")
972+
set(SDLIMAGE_WEBP_ENABLED TRUE)
944973
else()
945974
find_package(webp ${required})
946975
if(webp_FOUND)
@@ -957,23 +986,25 @@ if(SDLIMAGE_WEBP)
957986
if(SDLIMAGE_WEBP_ENABLED)
958987
target_compile_definitions(${sdl3_image_target_name} PRIVATE LOAD_WEBP)
959988
if(SDLIMAGE_WEBP_SHARED)
960-
target_include_directories(${sdl3_image_target_name} PRIVATE
961-
$<TARGET_PROPERTY:WebP::webp,INCLUDE_DIRECTORIES>
962-
$<TARGET_PROPERTY:WebP::webp,INTERFACE_INCLUDE_DIRECTORIES>
963-
$<TARGET_PROPERTY:WebP::webp,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
964-
$<TARGET_PROPERTY:WebP::webpdemux,INCLUDE_DIRECTORIES>
965-
$<TARGET_PROPERTY:WebP::webpdemux,INTERFACE_INCLUDE_DIRECTORIES>
966-
$<TARGET_PROPERTY:WebP::webpdemux,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
967-
)
968-
target_get_dynamic_library(dynamic_webpdemux WebP::webpdemux)
969-
message(STATUS "Dynamic libwebpdemux: ${dynamic_webpdemux}")
970-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_WEBPDEMUX_DYNAMIC=\"${dynamic_webpdemux}\"")
971-
target_get_dynamic_library(dynamic_webp WebP::webp)
972-
message(STATUS "Dynamic libwebp: ${dynamic_webp}")
973-
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_WEBP_DYNAMIC=\"${dynamic_webp}\"")
974-
if(SDLIMAGE_WEBP_VENDORED)
975-
add_dependencies(${sdl3_image_target_name} WebP::webp WebP::webpdemux)
989+
if(NOT DEFINED SDLIMAGE_DYNAMIC_WEBP AND NOT DEFINED SDLIMAGE_DYNAMIC_WEBPDEMUX)
990+
target_include_directories(${sdl3_image_target_name} PRIVATE
991+
$<TARGET_PROPERTY:WebP::webp,INCLUDE_DIRECTORIES>
992+
$<TARGET_PROPERTY:WebP::webp,INTERFACE_INCLUDE_DIRECTORIES>
993+
$<TARGET_PROPERTY:WebP::webp,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
994+
$<TARGET_PROPERTY:WebP::webpdemux,INCLUDE_DIRECTORIES>
995+
$<TARGET_PROPERTY:WebP::webpdemux,INTERFACE_INCLUDE_DIRECTORIES>
996+
$<TARGET_PROPERTY:WebP::webpdemux,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
997+
)
998+
if(SDLIMAGE_WEBP_VENDORED)
999+
add_dependencies(${sdl3_image_target_name} WebP::webp WebP::webpdemux)
1000+
endif()
9761001
endif()
1002+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_WEBPDEMUX WebP::webpdemux)
1003+
message(STATUS "Dynamic libwebpdemux: ${SDLIMAGE_DYNAMIC_WEBPDEMUX}")
1004+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_WEBPDEMUX_DYNAMIC=\"${SDLIMAGE_DYNAMIC_WEBPDEMUX}\"")
1005+
target_get_dynamic_library(SDLIMAGE_DYNAMIC_WEBP WebP::webp)
1006+
message(STATUS "Dynamic libwebp: ${SDLIMAGE_DYNAMIC_WEBP}")
1007+
target_compile_definitions(${sdl3_image_target_name} PRIVATE "LOAD_WEBP_DYNAMIC=\"${SDLIMAGE_DYNAMIC_WEBP}\"")
9771008
else()
9781009
target_link_libraries(${sdl3_image_target_name} PRIVATE WebP::webp WebP::webpdemux)
9791010
endif()

build-scripts/build-release.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,8 @@ def verify_mingw_library(self, triplet: str, path: Path):
700700
libraries = re.findall(r"DLL Name: ([^\n]+)", objdump_output)
701701
logger.info("%s (%s) libraries: %r", path, triplet, libraries)
702702
illegal_libraries = list(filter(RE_ILLEGAL_MINGW_LIBRARIES.match, libraries))
703-
logger.error("Detected 'illegal' libraries: %r", illegal_libraries)
703+
if illegal_libraries:
704+
logger.error("Detected 'illegal' libraries: %r", illegal_libraries)
704705
if illegal_libraries:
705706
raise Exception(f"{path} links to illegal libraries: {illegal_libraries}")
706707

@@ -834,7 +835,16 @@ def extract_filter(member: tarfile.TarInfo, path: str, /):
834835
"ARCH": arch,
835836
"DEP_PREFIX": str(mingw_deps_path / triplet),
836837
})
838+
my_cflags = f"-ffile-prefix-map={self.root}=/src/{self.project}"
837839
extra_args = configure_text_list(text_list=self.release_info["mingw"]["cmake"]["args"], context=context)
840+
try:
841+
extra_cflags_i, extra_cmake_c_flags = next((arg_i, a) for (arg_i, a) in enumerate(extra_args) if a.startswith("-DCMAKE_C_FLAGS"))
842+
extra_cflags = extra_cmake_c_flags.removeprefix("-DCMAKE_C_FLAGS=")
843+
assert extra_cflags[:1] not in "'\"" and extra_cflags[:-1] not in "'\""
844+
extra_args[extra_cflags_i] = f"-DCMAKE_C_FLAGS={extra_cflags} {my_cflags}"
845+
except StopIteration:
846+
extra_args.append(f"-DCMAKE_C_FLAGS={my_cflags}")
847+
838848

839849
build_path = build_parent_dir / f"build-{triplet}"
840850
install_path = build_parent_dir / f"install-{triplet}"
@@ -851,7 +861,6 @@ def extract_filter(member: tarfile.TarInfo, path: str, /):
851861
f"cmake",
852862
f"-S", str(self.root), "-B", str(build_path),
853863
f"-DCMAKE_BUILD_TYPE={build_type}",
854-
f'''-DCMAKE_C_FLAGS="-ffile-prefix-map={self.root}=/src/{self.project}"''',
855864
f'''-DCMAKE_CXX_FLAGS="-ffile-prefix-map={self.root}=/src/{self.project}"''',
856865
f"-DCMAKE_PREFIX_PATH={mingw_deps_path / triplet}",
857866
f"-DCMAKE_INSTALL_PREFIX={install_path}",

build-scripts/release-info.json

+10-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"archs": ["x86", "x64"],
3737
"args": [
3838
"-DBUILD_SHARED_LIBS=ON",
39-
"-DSDLIMAGE_AVIF=OFF",
39+
"-DSDLIMAGE_AVIF=ON",
4040
"-DSDLIMAGE_BMP=ON",
4141
"-DSDLIMAGE_GIF=ON",
4242
"-DSDLIMAGE_JPG=ON",
@@ -48,15 +48,21 @@
4848
"-DSDLIMAGE_QOI=ON",
4949
"-DSDLIMAGE_SVG=ON",
5050
"-DSDLIMAGE_TGA=ON",
51-
"-DSDLIMAGE_TIF=OFF",
52-
"-DSDLIMAGE_WEBP=OFF",
51+
"-DSDLIMAGE_TIF=ON",
52+
"-DSDLIMAGE_WEBP=ON",
5353
"-DSDLIMAGE_XCF=ON",
5454
"-DSDLIMAGE_XPM=ON",
5555
"-DSDLIMAGE_XV=ON",
5656
"-DSDLIMAGE_RELOCATABLE=ON",
5757
"-DSDLIMAGE_SAMPLES=OFF",
5858
"-DSDLIMAGE_TESTS=OFF",
59-
"-DSDLIMAGE_VENDORED=OFF"
59+
"-DSDLIMAGE_VENDORED=OFF",
60+
"-DSDLIMAGE_DEPS_SHARED=ON",
61+
"-DCMAKE_C_FLAGS=-I@<@PROJECT_ROOT@>@/VisualC/external/include",
62+
"-DSDLIMAGE_DYNAMIC_AVIF=@<@PROJECT_ROOT@>@/VisualC/external/optional/@<@ARCH@>@/libavif-16.dll",
63+
"-DSDLIMAGE_DYNAMIC_TIF=@<@PROJECT_ROOT@>@/VisualC/external/optional/@<@ARCH@>@/libtiff-6.dll",
64+
"-DSDLIMAGE_DYNAMIC_WEBP=@<@PROJECT_ROOT@>@/VisualC/external/optional/@<@ARCH@>@/libwebp-7.dll",
65+
"-DSDLIMAGE_DYNAMIC_WEBPDEMUX=@<@PROJECT_ROOT@>@/VisualC/external/optional/@<@ARCH@>@/libwebpdemux-2.dll"
6066
],
6167
"shared-static": "args"
6268
},

0 commit comments

Comments
 (0)