|
@@ -1,20 +1,19 @@
|
|
|
set(MINIMP3_INCLUDE_DIR ${INCLUDES_BASE_DIR}/minimp3)
|
|
|
set(MIKKTSPACE_INCLUDE_DIR ${INCLUDES_BASE_DIR}/mikktspace)
|
|
|
|
|
|
-if(WIN32)
|
|
|
- set(ZLIB_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/zlib)
|
|
|
+add_library(fmt.hdll
|
|
|
+ fmt.c
|
|
|
+ sha1.c
|
|
|
+ dxt.c
|
|
|
+ mikkt.c
|
|
|
+ ${MIKKTSPACE_INCLUDE_DIR}/mikktspace.c
|
|
|
+)
|
|
|
+
|
|
|
+if (WIN32 OR ANDROID)
|
|
|
set(PNG_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/png)
|
|
|
set(VORBIS_INCLUDE_DIR ${INCLUDES_BASE_DIR}/vorbis)
|
|
|
|
|
|
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
|
- set(TurboJPEG_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/turbojpeg ${INCLUDES_BASE_DIR}/turbojpeg/x64)
|
|
|
- find_library(TurboJPEG_LIBRARIES simd PATHS ${INCLUDES_BASE_DIR}/turbojpeg/x64)
|
|
|
- else()
|
|
|
- set(TurboJPEG_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/turbojpeg ${INCLUDES_BASE_DIR}/turbojpeg/x86)
|
|
|
- find_library(TurboJPEG_LIBRARIES simd PATHS ${INCLUDES_BASE_DIR}/turbojpeg/x86)
|
|
|
- endif()
|
|
|
-
|
|
|
- add_library(fmt.hdll SHARED
|
|
|
+ target_sources(fmt.hdll PRIVATE
|
|
|
${INCLUDES_BASE_DIR}/png/png.c
|
|
|
${INCLUDES_BASE_DIR}/png/pngerror.c
|
|
|
${INCLUDES_BASE_DIR}/png/pngget.c
|
|
@@ -30,6 +29,48 @@ if(WIN32)
|
|
|
${INCLUDES_BASE_DIR}/png/pngwrite.c
|
|
|
${INCLUDES_BASE_DIR}/png/pngwtran.c
|
|
|
${INCLUDES_BASE_DIR}/png/pngwutil.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/bitrate.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/bitwise.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/block.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/codebook.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/envelope.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/floor0.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/floor1.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/framing.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/info.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/lookup.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/lpc.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/lsp.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/mapping0.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/mdct.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/psy.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/registry.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/res0.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/sharedbook.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/smallft.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/synthesis.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/vorbisfile.c
|
|
|
+ ${INCLUDES_BASE_DIR}/vorbis/window.c
|
|
|
+ )
|
|
|
+
|
|
|
+ if (ANDROID)
|
|
|
+ # TODO: enable
|
|
|
+ target_compile_definitions(fmt.hdll PRIVATE PNG_ARM_NEON_OPT=0)
|
|
|
+ endif()
|
|
|
+endif()
|
|
|
+
|
|
|
+if(WIN32)
|
|
|
+ set(ZLIB_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/zlib)
|
|
|
+
|
|
|
+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
|
+ set(TurboJPEG_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/turbojpeg ${INCLUDES_BASE_DIR}/turbojpeg/x64)
|
|
|
+ find_library(TurboJPEG_LIBRARIES simd PATHS ${INCLUDES_BASE_DIR}/turbojpeg/x64)
|
|
|
+ else()
|
|
|
+ set(TurboJPEG_INCLUDE_DIRS ${INCLUDES_BASE_DIR}/turbojpeg ${INCLUDES_BASE_DIR}/turbojpeg/x86)
|
|
|
+ find_library(TurboJPEG_LIBRARIES simd PATHS ${INCLUDES_BASE_DIR}/turbojpeg/x86)
|
|
|
+ endif()
|
|
|
+
|
|
|
+ target_sources(fmt.hdll PRIVATE
|
|
|
${INCLUDES_BASE_DIR}/turbojpeg/jaricom.c
|
|
|
${INCLUDES_BASE_DIR}/turbojpeg/jcapimin.c
|
|
|
${INCLUDES_BASE_DIR}/turbojpeg/jcapistd.c
|
|
@@ -92,34 +133,33 @@ if(WIN32)
|
|
|
${INCLUDES_BASE_DIR}/zlib/inftrees.c
|
|
|
${INCLUDES_BASE_DIR}/zlib/trees.c
|
|
|
${INCLUDES_BASE_DIR}/zlib/zutil.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/bitrate.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/bitwise.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/block.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/codebook.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/envelope.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/floor0.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/floor1.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/framing.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/info.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/lookup.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/lpc.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/lsp.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/mapping0.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/mdct.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/psy.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/registry.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/res0.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/sharedbook.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/smallft.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/synthesis.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/vorbisfile.c
|
|
|
- ${INCLUDES_BASE_DIR}/vorbis/window.c
|
|
|
- fmt.c
|
|
|
- sha1.c
|
|
|
- dxt.c
|
|
|
- mikkt.c
|
|
|
- ${MIKKTSPACE_INCLUDE_DIR}/mikktspace.c
|
|
|
)
|
|
|
+elseif(ANDROID)
|
|
|
+ find_package(ZLIB REQUIRED)
|
|
|
+
|
|
|
+ ExternalProject_Add(turbojpeg-project
|
|
|
+ URL https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.1/libjpeg-turbo-3.1.1.tar.gz
|
|
|
+ URL_HASH SHA256=aadc97ea91f6ef078b0ae3a62bba69e008d9a7db19b34e4ac973b19b71b4217c
|
|
|
+ CMAKE_ARGS
|
|
|
+ -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
|
|
+ -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
|
|
+ -DANDROID_PLATFORM=${ANDROID_PLATFORM}
|
|
|
+ -DANDROID_ABI=${CMAKE_ANDROID_ARCH_ABI}
|
|
|
+ -DBUILD_SHARED_LIBS=OFF
|
|
|
+ # INSTALL_BYPRODUCTS in CMake 3.26+
|
|
|
+ BUILD_BYPRODUCTS <INSTALL_DIR>/${CMAKE_INSTALL_LIBDIR}/libturbojpeg.a
|
|
|
+ DOWNLOAD_EXTRACT_TIMESTAMP true
|
|
|
+ )
|
|
|
+
|
|
|
+ ExternalProject_Get_Property(turbojpeg-project INSTALL_DIR)
|
|
|
+
|
|
|
+ add_library(turbojpeg STATIC IMPORTED)
|
|
|
+ set_target_properties(turbojpeg PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libturbojpeg.a)
|
|
|
+
|
|
|
+ set(TurboJPEG_INCLUDE_DIRS ${INSTALL_DIR}/${CMAKE_INSTALL_INCLUDEDIR})
|
|
|
+ set(TurboJPEG_LIBRARIES turbojpeg)
|
|
|
+
|
|
|
+ add_dependencies(turbojpeg turbojpeg-project)
|
|
|
else()
|
|
|
find_package(ZLIB REQUIRED)
|
|
|
find_package(PNG REQUIRED)
|
|
@@ -133,14 +173,6 @@ else()
|
|
|
if(NOT OGGVORBIS_FOUND)
|
|
|
pkg_check_modules(OGGVORBIS REQUIRED vorbis vorbisenc vorbisfile)
|
|
|
endif()
|
|
|
-
|
|
|
- add_library(fmt.hdll SHARED
|
|
|
- fmt.c
|
|
|
- sha1.c
|
|
|
- dxt.c
|
|
|
- mikkt.c
|
|
|
- ${MIKKTSPACE_INCLUDE_DIR}/mikktspace.c
|
|
|
- )
|
|
|
endif()
|
|
|
|
|
|
set_as_hdll(fmt)
|