redream/deps/chdr/CMakeLists.txt

142 lines
4.5 KiB
CMake

cmake_minimum_required(VERSION 3.1)
project(chdr C)
#--------------------------------------------------
# static libs
#--------------------------------------------------
# crypto
set(CRYPTO_SOURCES
deps/crypto/md5.c
deps/crypto/sha1.c)
add_library(crypto-static STATIC ${CRYPTO_SOURCES})
list(APPEND CHDR_INCLUDES deps/crypto)
list(APPEND CHDR_LIBS crypto-static)
# flac
set(FLAC_SOURCES
deps/flac-1.3.2/src/libFLAC/bitmath.c
deps/flac-1.3.2/src/libFLAC/bitreader.c
#deps/flac-1.3.2/src/libFLAC/bitwriter.c
deps/flac-1.3.2/src/libFLAC/cpu.c
deps/flac-1.3.2/src/libFLAC/crc.c
deps/flac-1.3.2/src/libFLAC/fixed.c
deps/flac-1.3.2/src/libFLAC/fixed_intrin_sse2.c
deps/flac-1.3.2/src/libFLAC/fixed_intrin_ssse3.c
deps/flac-1.3.2/src/libFLAC/float.c
deps/flac-1.3.2/src/libFLAC/format.c
deps/flac-1.3.2/src/libFLAC/lpc.c
deps/flac-1.3.2/src/libFLAC/lpc_intrin_avx2.c
deps/flac-1.3.2/src/libFLAC/lpc_intrin_sse2.c
deps/flac-1.3.2/src/libFLAC/lpc_intrin_sse41.c
deps/flac-1.3.2/src/libFLAC/lpc_intrin_sse.c
deps/flac-1.3.2/src/libFLAC/md5.c
deps/flac-1.3.2/src/libFLAC/memory.c
deps/flac-1.3.2/src/libFLAC/metadata_iterators.c
deps/flac-1.3.2/src/libFLAC/metadata_object.c
#deps/flac-1.3.2/src/libFLAC/ogg_decoder_aspect.c
#deps/flac-1.3.2/src/libFLAC/ogg_encoder_aspect.c
#deps/flac-1.3.2/src/libFLAC/ogg_helper.c
#deps/flac-1.3.2/src/libFLAC/ogg_mapping.c
deps/flac-1.3.2/src/libFLAC/stream_decoder.c
#deps/flac-1.3.2/src/libFLAC/stream_encoder.c
#deps/flac-1.3.2/src/libFLAC/stream_encoder_framing.c
#deps/flac-1.3.2/src/libFLAC/stream_encoder_intrin_avx2.c
#deps/flac-1.3.2/src/libFLAC/stream_encoder_intrin_sse2.c
#deps/flac-1.3.2/src/libFLAC/stream_encoder_intrin_ssse3.c
deps/flac-1.3.2/src/libFLAC/window.c)
if(WIN32)
list(APPEND FLAC_SOURCES deps/flac-1.3.2/src/libFLAC/windows_unicode_filenames.c)
endif()
if(APPLE)
list(APPEND FLAC_DEFS HAVE_SYS_PARAM_H)
endif()
add_library(flac-static STATIC ${FLAC_SOURCES})
target_include_directories(flac-static PUBLIC deps/flac-1.3.2/include deps/flac-1.3.2/src/libFLAC/include)
target_compile_definitions(flac-static PRIVATE PACKAGE_VERSION="1.3.2" FLAC__HAS_OGG=0 FLAC__NO_DLL HAVE_LROUND HAVE_STDINT_H HAVE_STDLIB_H ${FLAC_DEFS})
list(APPEND CHDR_INCLUDES deps/flac-1.3.2/src/libFLAC/include)
list(APPEND CHDR_DEFS FLAC__NO_DLL)
list(APPEND CHDR_LIBS flac-static)
# lzma
set(LZMA_SOURCES
#deps/lzma-16.04/C/7zAlloc.c
#deps/lzma-16.04/C/7zArcIn.c
#deps/lzma-16.04/C/7zBuf2.c
#deps/lzma-16.04/C/7zBuf.c
#deps/lzma-16.04/C/7zCrc.c
#deps/lzma-16.04/C/7zCrcOpt.c
#deps/lzma-16.04/C/7zDec.c
#deps/lzma-16.04/C/7zFile.c
#deps/lzma-16.04/C/7zStream.c
#deps/lzma-16.04/C/Aes.c
#deps/lzma-16.04/C/AesOpt.c
deps/lzma-16.04/C/Alloc.c
#deps/lzma-16.04/C/Bcj2.c
#deps/lzma-16.04/C/Bcj2Enc.c
deps/lzma-16.04/C/Bra86.c
deps/lzma-16.04/C/Bra.c
deps/lzma-16.04/C/BraIA64.c
deps/lzma-16.04/C/CpuArch.c
deps/lzma-16.04/C/Delta.c
#deps/lzma-16.04/C/DllSecur.c
deps/lzma-16.04/C/LzFind.c
#deps/lzma-16.04/C/LzFindMt.c
#deps/lzma-16.04/C/Lzma2Dec.c
#deps/lzma-16.04/C/Lzma2Enc.c
deps/lzma-16.04/C/Lzma86Dec.c
deps/lzma-16.04/C/Lzma86Enc.c
deps/lzma-16.04/C/LzmaDec.c
deps/lzma-16.04/C/LzmaEnc.c
deps/lzma-16.04/C/LzmaLib.c
#deps/lzma-16.04/C/MtCoder.c
#deps/lzma-16.04/C/Ppmd7.c
#deps/lzma-16.04/C/Ppmd7Dec.c
#deps/lzma-16.04/C/Ppmd7Enc.c
#deps/lzma-16.04/C/Sha256.c
deps/lzma-16.04/C/Sort.c
#deps/lzma-16.04/C/Threads.c
#deps/lzma-16.04/C/Xz.c
#deps/lzma-16.04/C/XzCrc64.c
#deps/lzma-16.04/C/XzCrc64Opt.c
#deps/lzma-16.04/C/XzDec.c
#deps/lzma-16.04/C/XzEnc.c
#deps/lzma-16.04/C/XzIn.c
)
add_library(lzma-static STATIC ${LZMA_SOURCES})
target_compile_options(lzma-static PRIVATE -D_7ZIP_ST)
list(APPEND CHDR_INCLUDES deps/lzma-16.04/C)
list(APPEND CHDR_LIBS lzma-static)
# zlib
add_subdirectory(deps/zlib-1.2.11 EXCLUDE_FROM_ALL)
list(APPEND CHDR_INCLUDES deps/zlib-1.2.11 ${CMAKE_CURRENT_BINARY_DIR}/deps/zlib-1.2.11)
list(APPEND CHDR_LIBS zlibstatic)
#--------------------------------------------------
# chdr
#--------------------------------------------------
set(CHDR_SOURCES
src/bitstream.c
src/bitstream.h
src/cdrom.c
src/cdrom.h
src/chd.c
src/chd.h
src/coretypes.h
src/flac.c
src/flac.h
src/huffman.c
src/huffman.h)
add_library(chdr-static STATIC ${CHDR_SOURCES})
target_include_directories(chdr-static PRIVATE ${CHDR_INCLUDES})
target_compile_definitions(chdr-static PRIVATE ${CHDR_DEFS})
target_link_libraries(chdr-static ${CHDR_LIBS})