add_library(libFLAC include/FLAC/all.h include/FLAC/assert.h include/FLAC/callback.h include/FLAC/export.h include/FLAC/format.h include/FLAC/metadata.h include/FLAC/ordinals.h include/FLAC/stream_decoder.h include/FLAC/stream_encoder.h src/bitmath.c src/bitreader.c src/cpu.c src/crc.c src/fixed.c src/fixed_intrin_sse2.c src/fixed_intrin_ssse3.c src/float.c src/format.c src/include/private/all.h src/include/private/bitmath.h src/include/private/bitreader.h src/include/private/cpu.h src/include/private/crc.h src/include/private/fixed.h src/include/private/float.h src/include/private/format.h src/include/private/lpc.h src/include/private/macros.h src/include/private/md5.h src/include/private/memory.h src/include/private/metadata.h src/include/private/window.h src/include/protected/stream_decoder.h src/include/share/alloc.h src/include/share/compat.h src/include/share/endswap.h src/include/share/macros.h src/include/share/safe_str.h src/include/share/windows_unicode_filenames.h src/include/share/win_utf8_io.h src/lpc.c src/lpc_intrin_avx2.c src/lpc_intrin_sse.c src/lpc_intrin_sse2.c src/lpc_intrin_sse41.c src/md5.c src/memory.c src/metadata_iterators.c src/metadata_object.c src/stream_decoder.c src/window.c ) target_compile_definitions(libFLAC PRIVATE PACKAGE_VERSION="1.3.2" FLAC__HAS_OGG=0 HAVE_LROUND HAVE_STDINT_H HAVE_STDLIB_H) if(${CPU_ARCH} STREQUAL "x64" OR ${CPU_ARCH} STREQUAL "x86") target_compile_definitions(libFLAC PRIVATE FLAC__HAS_X86INTRIN=1) endif() if(WIN32) target_compile_definitions(libFLAC PUBLIC FLAC__NO_DLL) target_sources(libFLAC PRIVATE src/windows_unicode_filenames.c ) endif() target_include_directories(libFLAC PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/src/include") target_include_directories(libFLAC INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")