@@ -15,54 +15,31 @@ set(SDL2MIXER_OPUS OFF)
1515set (SDL2MIXER_VORBIS "VORBISFILE" )
1616set (SDL2MIXER_WAVPACK OFF )
1717
18+ if (APPLE AND CMAKE_OSX_ARCHITECTURES)
19+ set (BASE_ARCHITECTURE "${CMAKE_OSX_ARCHITECTURES} " )
20+ elseif (CMAKE_SYSTEM_PROCESSOR )
21+ set (BASE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR } " )
22+ else ()
23+ set (BASE_ARCHITECTURE "${CMAKE_HOST_SYSTEM_PROCESSOR } " )
24+ endif ()
25+
26+ # Next, match common architecture strings down to a known common value.
27+ if (BASE_ARCHITECTURE MATCHES "(x86)|(X86)|(amd64)|(AMD64)" )
28+ set (ARCHITECTURE "x86_64" )
29+ elseif (BASE_ARCHITECTURE MATCHES "(aarch64)|(AARCH64)|(arm64)|(ARM64)" )
30+ set (ARCHITECTURE "arm64" )
31+ else ()
32+ message (FATAL_ERROR "Unsupported CPU architecture: ${BASE_ARCHITECTURE} " )
33+ endif ()
34+
1835add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /msdf-atlas-gen" )
1936add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /nativefiledialog-extended" )
2037add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /o1heap" )
2138add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /SDL" )
2239add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /SDL_mixer" )
2340add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /plume" )
41+ add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /ffmpeg-core" )
2442
2543if (APPLE )
2644 add_subdirectory ("${MARATHON_RECOMP_THIRDPARTY_ROOT} /MoltenVK" )
2745endif ()
28-
29- if (NOT WIN32 )
30- set (FFMPEG_PATH ${CMAKE_CURRENT_SOURCE_DIR } /FFmpeg)
31-
32- add_custom_command (
33- OUTPUT ${FFMPEG_PATH} /config.h
34- COMMAND ./configure --disable-all --disable-x86asm --disable-autodetect --disable-network --enable-avcodec --enable-decoder='xmaframes'
35- COMMENT "Configuring FFmpeg..."
36- WORKING_DIRECTORY ${FFMPEG_PATH}
37- )
38-
39- add_custom_target (ffmpeg-configure DEPENDS ${FFMPEG_PATH} /config.h )
40-
41- function (import_ffmpeg_library name )
42- if (${CMAKE_GENERATOR } STREQUAL "Unix Makefiles" )
43- set (MAKE_COMMAND $(MAKE) -j$(nproc))
44- elseif (${CMAKE_GENERATOR } STREQUAL "Ninja" )
45- set (MAKE_COMMAND make -j$$(nproc))
46- else ()
47- set (MAKE_COMMAND make)
48- endif ()
49-
50- add_custom_command (
51- OUTPUT "${FFMPEG_PATH} /lib${name} /lib${name} .a"
52- COMMAND ${MAKE_COMMAND} -C ${FFMPEG_PATH} "lib${name} /lib${name} .a"
53- COMMENT "Building lib${name} /lib${name} .a"
54- DEPENDS ffmpeg-configure
55- WORKING_DIRECTORY ${FFMPEG_PATH}
56- )
57-
58- add_custom_target (ffmpeg-build-${name} DEPENDS "${FFMPEG_PATH} /lib${name} /lib${name} .a" )
59-
60- add_library (ffmpeg::${name} STATIC IMPORTED GLOBAL )
61- set_property (TARGET ffmpeg::${name} PROPERTY IMPORTED_LOCATION "${FFMPEG_PATH} /lib${name} /lib${name} .a" )
62- set_property (TARGET ffmpeg::${name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_PATH} " )
63- add_dependencies (ffmpeg::${name} ffmpeg-build-${name} )
64- endfunction ()
65-
66- import_ffmpeg_library (avcodec )
67- import_ffmpeg_library (avutil )
68- endif ()
0 commit comments