176 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			176 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								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)
							 | 
						||
| 
								 | 
							
								    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
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/png.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngerror.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngget.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngmem.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngpread.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngread.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngrio.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngrtran.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngrutil.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngset.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngtrans.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngwio.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngwrite.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngwtran.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/png/pngwutil.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jaricom.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcapimin.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcapistd.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcarith.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jccoefct.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jccolor.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcdctmgr.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jchuff.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcinit.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcmainct.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcmarker.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcmaster.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcomapi.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcparam.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcphuff.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcprepct.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jcsample.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jctrans.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdapimin.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdapistd.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdarith.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdatadst-tj.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdatadst.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdatasrc-tj.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdatasrc.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdcoefct.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdcolor.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jddctmgr.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdhuff.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdinput.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdmainct.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdmarker.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdmaster.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdmerge.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdphuff.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdpostct.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdsample.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jdtrans.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jerror.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jfdctflt.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jfdctfst.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jfdctint.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jidctflt.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jidctfst.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jidctint.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jidctred.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jmemmgr.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jmemnobs.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jquant1.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jquant2.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jsimd.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/jutils.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/transupp.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/turbojpeg/turbojpeg.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/zlib/adler32.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/zlib/crc32.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/zlib/deflate.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/zlib/inffast.c
							 | 
						||
| 
								 | 
							
								        ${INCLUDES_BASE_DIR}/zlib/inflate.c
							 | 
						||
| 
								 | 
							
								        ${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
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								else()
							 | 
						||
| 
								 | 
							
								    find_package(ZLIB REQUIRED)
							 | 
						||
| 
								 | 
							
								    find_package(PNG REQUIRED)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    find_package(TurboJPEG QUIET)
							 | 
						||
| 
								 | 
							
								    if(NOT TurboJPEG_FOUND)
							 | 
						||
| 
								 | 
							
								        pkg_check_modules(TurboJPEG REQUIRED libjpeg)
							 | 
						||
| 
								 | 
							
								    endif()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    find_package(OggVorbis QUIET)
							 | 
						||
| 
								 | 
							
								    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)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								target_include_directories(fmt.hdll
							 | 
						||
| 
								 | 
							
								    PRIVATE
							 | 
						||
| 
								 | 
							
								    ${ZLIB_INCLUDE_DIRS}
							 | 
						||
| 
								 | 
							
								    ${PNG_INCLUDE_DIRS}
							 | 
						||
| 
								 | 
							
								    ${TurboJPEG_INCLUDE_DIRS}
							 | 
						||
| 
								 | 
							
								    ${VORBIS_INCLUDE_DIR}
							 | 
						||
| 
								 | 
							
								    ${MINIMP3_INCLUDE_DIR}
							 | 
						||
| 
								 | 
							
								    ${MIKKTSPACE_INCLUDE_DIR}
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								target_link_libraries(fmt.hdll
							 | 
						||
| 
								 | 
							
								    libhl
							 | 
						||
| 
								 | 
							
								    ${ZLIB_LIBRARIES}
							 | 
						||
| 
								 | 
							
								    ${PNG_LIBRARIES}
							 | 
						||
| 
								 | 
							
								    ${TurboJPEG_LIBRARIES}
							 | 
						||
| 
								 | 
							
								    ${OGGVORBIS_LIBRARIES}
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								target_compile_definitions(fmt.hdll
							 | 
						||
| 
								 | 
							
								    PRIVATE
							 | 
						||
| 
								 | 
							
								    ${PNG_DEFINITIONS}
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								install(
							 | 
						||
| 
								 | 
							
								    TARGETS
							 | 
						||
| 
								 | 
							
								        fmt.hdll
							 | 
						||
| 
								 | 
							
								    DESTINATION ${HDLL_DESTINATION}
							 | 
						||
| 
								 | 
							
								)
							 |