mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-15 23:59:37 +02:00
CMakeLists.txt for libFLAC been rewritten
I've reproduced the commands from FLAC's configure.ac. Seems to build fine on Windows, MacOS, Linux and FreeBSD
This commit is contained in:
parent
a768ff177e
commit
b07595781a
@ -16,11 +16,11 @@ set( LIB_SRC_DIRECTORY ${top_dir}/lib-src/ )
|
||||
# libexpat
|
||||
set( BUILD_shared OFF CACHE INTERNAL "" FORCE )
|
||||
add_subdirectory( "${LIB_SRC_DIRECTORY}expat" "${CMAKE_CURRENT_BINARY_DIR}/expat" EXCLUDE_FROM_ALL )
|
||||
set_target_properties(expat PROPERTIES OSX_ARCHITECTURES "")
|
||||
|
||||
add_subdirectory( "FileDialog" )
|
||||
#add_subdirectory( "help" )
|
||||
add_subdirectory( "libflac" )
|
||||
add_subdirectory( "libflac++" )
|
||||
add_subdirectory( "libid3tag" )
|
||||
add_subdirectory( "libmad" )
|
||||
add_subdirectory( "libnyquist" )
|
||||
@ -35,9 +35,12 @@ add_subdirectory( "lv2" )
|
||||
add_subdirectory( "mod-script-pipe" )
|
||||
add_subdirectory( "${LIB_SRC_DIRECTORY}portaudio-v19" "${CMAKE_CURRENT_BINARY_DIR}/portaudio-v19" EXCLUDE_FROM_ALL )
|
||||
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(VERSION 2.8.11)
|
||||
set(CMAKE_CACHEFILE_DIR ${CMAKE_BINARY_DIR})
|
||||
add_subdirectory( "${LIB_SRC_DIRECTORY}portmidi" "${CMAKE_CURRENT_BINARY_DIR}/portmidi" EXCLUDE_FROM_ALL )
|
||||
set_target_properties(portmidi-static PROPERTIES OSX_ARCHITECTURES "")
|
||||
cmake_policy(POP)
|
||||
|
||||
add_subdirectory( "portmixer" )
|
||||
#add_subdirectory( "portburn" ) # not built
|
||||
|
@ -5,7 +5,9 @@ project(${TARGET})
|
||||
|
||||
add_library(${TARGET} STATIC ${LIB_SRC_DIRECTORY}FileDialog/FileDialog.cpp)
|
||||
target_include_directories(${TARGET} PRIVATE ${TARGET_SOURCE})
|
||||
set_target_properties(${TARGET} PROPERTIES CXX_STANDARD 11)
|
||||
set_target_properties(${TARGET} PROPERTIES
|
||||
CXX_STANDARD 11
|
||||
OSX_ARCHITECTURES "")
|
||||
|
||||
find_package(wxWidgets REQUIRED COMPONENTS net core base)
|
||||
include(${wxWidgets_USE_FILE})
|
||||
@ -15,7 +17,7 @@ target_link_libraries(${TARGET} PRIVATE ${wxWidgets_LIBRARIES})
|
||||
|
||||
if(WIN32)
|
||||
target_sources(${TARGET} PRIVATE ${LIB_SRC_DIRECTORY}FileDialog/win/FileDialogPrivate.cpp)
|
||||
target_compile_definitions(${TARGET} PRIVATE /D__WIN32__)
|
||||
target_compile_definitions(${TARGET} PRIVATE __WIN32__)
|
||||
target_include_directories(${TARGET} PRIVATE ${TARGET_SOURCE}/win)
|
||||
elseif(APPLE)
|
||||
target_sources(${TARGET} PRIVATE ${LIB_SRC_DIRECTORY}FileDialog/mac/FileDialogPrivate.mm)
|
||||
|
@ -1,30 +0,0 @@
|
||||
#directory cmake-proxies/libflac++
|
||||
#UNUSED
|
||||
set( TARGET libflac++ )
|
||||
set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}libflac )
|
||||
project( ${TARGET} )
|
||||
|
||||
set( SOURCES
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC++/metadata.cpp
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC++/stream_decoder.cpp
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC++/stream_encoder.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC++/decoders.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC++/encoders.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC++/main.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC++/metadata.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC++/metadata_manip.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC++/metadata_object.cpp
|
||||
)
|
||||
# This defines the #define on both Windows and Linux.
|
||||
add_definitions(
|
||||
-DFLAC__NO_DLL
|
||||
-D_LIB
|
||||
)
|
||||
|
||||
add_library( ${TARGET} STATIC ${SOURCES})
|
||||
|
||||
target_include_directories( ${TARGET} PRIVATE
|
||||
${TARGET_SOURCE}/include
|
||||
)
|
||||
|
||||
target_link_libraries( ${TARGET} )
|
@ -1,127 +1,223 @@
|
||||
#directory cmake-proxies/libflac
|
||||
set( TARGET libflac )
|
||||
set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} )
|
||||
project( ${TARGET} )
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
set( SOURCES
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/analyze.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/decode.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/encode.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/foreign_metadata.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/iffscan.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/local_string_utils.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/main.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/utils.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/flac/vorbiscomment.c
|
||||
set(TARGET libflac)
|
||||
set(TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET})
|
||||
project(${TARGET} VERSION 1.3.1)
|
||||
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/bitmath.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/bitreader.c
|
||||
option(FLAC_WITH_OGG "ogg support (default: test for libogg)" OFF)
|
||||
option(FLAC_ENABLE_64_BIT_WORDS "Set FLAC__BYTES_PER_WORD to 8 (4 is the default)" OFF)
|
||||
option(FLAC_WITH_ASM "Use any assembly optimization routines" ON)
|
||||
|
||||
if(WITH_OGG)
|
||||
find_package(OGG REQUIRED)
|
||||
endif()
|
||||
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/bitwriter.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/cpu.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/crc.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/fixed.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/fixed_intrin_sse2.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/fixed_intrin_ssse3.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/float.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/format.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/lpc.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/lpc_intrin_avx2.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/lpc_intrin_sse.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/lpc_intrin_sse2.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/lpc_intrin_sse41.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/md5.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/memory.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/metadata_iterators.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/metadata_object.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/libFLAC/ogg_decoder_aspect.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/libFLAC/ogg_encoder_aspect.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/libFLAC/ogg_helper.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/libFLAC/ogg_mapping.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/stream_decoder.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/stream_encoder.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/stream_encoder_framing.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/stream_encoder_intrin_avx2.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/stream_encoder_intrin_sse2.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/stream_encoder_intrin_ssse3.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/libFLAC/window.c
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
|
||||
if(CMAKE_BULD_TYPE STREQUAL Release)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -funroll-loops")
|
||||
endif()
|
||||
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/main.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/operations.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/operations_shorthand_cuesheet.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/operations_shorthand_picture.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/operations_shorthand_seektable.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/operations_shorthand_streaminfo.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/operations_shorthand_vorbiscomment.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/options.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/usage.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/metaflac/utils.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_common/charset.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_common/dither.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_common/replaygain.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_common/tags.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_xmms/charset.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_xmms/configure.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_xmms/fileinfo.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_xmms/http.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_xmms/plugin.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/plugin_xmms/tag.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/getopt/getopt.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/getopt/getopt1.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/alloc.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/cuesheet.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/file.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/picture.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/replaygain.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/seektable.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/grabbag/snprintf.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/replaygain_analysis/replaygain_analysis.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/replaygain_synthesis/replaygain_synthesis.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/utf8/charset.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/utf8/charset_test.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/utf8/iconvert.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/utf8/makemap.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/share/utf8/utf8.c
|
||||
${LIB_SRC_DIRECTORY}libflac/src/share/win_utf8_io/win_utf8_io.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_grabbag/cuesheet/main.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_grabbag/picture/main.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/bitwriter.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/decoders.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/encoders.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/endswap.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/format.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/main.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/md5.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/metadata.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/metadata_manip.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libFLAC/metadata_object.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libs_common/file_utils_flac.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_libs_common/metadata_utils.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_seeking/main.c
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/test_streams/main.c
|
||||
option(FLAC_ENABLE_SSP "Enable GNU GCC stack smash protection" OFF)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "[xX]86(_64)?|(AMD|amd)64|i[346]86")
|
||||
option(FLAC_WITH_AVX "Enable AVX, AVX2 optimizations" ON)
|
||||
option(FLAC_WITH_SSE "Enable AVX, AVX2 optimizations" ON)
|
||||
endif()
|
||||
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/utils/flacdiff/main.cpp
|
||||
#${LIB_SRC_DIRECTORY}libflac/src/utils/flactimer/main.cpp
|
||||
)
|
||||
# This defines the #define on both Windows and Linux.
|
||||
add_definitions(
|
||||
-DWIN32
|
||||
-D_LIB
|
||||
-DFLAC__CPU_IA32
|
||||
-DFLAC__SSE_OS
|
||||
-DFLAC__HAS_X86INTRIN
|
||||
-DFLAC__ALIGN_MALLOC_DATA
|
||||
-DVERSION="1.3.1"
|
||||
-DFLAC__NO_DLL
|
||||
-DFLAC__OVERFLOW_DETECT
|
||||
)
|
||||
add_library( ${TARGET} STATIC ${SOURCES})
|
||||
include(CheckCCompilerFlag)
|
||||
include(CheckCXXCompilerFlag)
|
||||
include(CheckSymbolExists)
|
||||
include(CheckFunctionExists)
|
||||
include(CheckIncludeFile)
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckCXXSourceCompiles)
|
||||
include(TestBigEndian)
|
||||
|
||||
target_include_directories( ${TARGET} PRIVATE
|
||||
${TARGET_SOURCE}/src/libFLAC/include
|
||||
${TARGET_SOURCE}/include
|
||||
)
|
||||
check_include_file("byteswap.h" HAVE_BYTESWAP_H)
|
||||
check_include_file("inttypes.h" HAVE_INTTYPES_H)
|
||||
check_include_file("stdint.h" HAVE_STDINT_H)
|
||||
check_include_file("x86intrin.h" HAVE_X86INTRIN_H)
|
||||
check_include_file("cpuid.h" HAVE_CPUID_H)
|
||||
check_include_file("sys/param.h" HAVE_SYS_PARAM_H)
|
||||
|
||||
target_link_libraries( ${TARGET} )
|
||||
function(check_lround)
|
||||
set(CMAKE_REQUIRED_LIBRARIES m)
|
||||
check_function_exists(lround HAVE_LROUND)
|
||||
endfunction()
|
||||
|
||||
check_lround()
|
||||
|
||||
check_c_source_compiles("int main() { return __builtin_bswap16 (0) ; }" HAVE_BSWAP16)
|
||||
check_c_source_compiles("int main() { return __builtin_bswap32 (0) ; }" HAVE_BSWAP32)
|
||||
check_c_source_compiles("
|
||||
int main()
|
||||
{
|
||||
#ifndef _FORTIFY_SOURCE
|
||||
return 0;
|
||||
#else
|
||||
this_is_an_error;
|
||||
#endif
|
||||
}"
|
||||
HAVENOT_FORTIFY_SOURCE)
|
||||
|
||||
test_big_endian(CPU_IS_BIG_ENDIAN)
|
||||
|
||||
check_c_compiler_flag(-Werror HAVE_WERROR_FLAG)
|
||||
check_c_compiler_flag(-Wdeclaration-after-statement HAVE_DECL_AFTER_STMT_FLAG)
|
||||
check_c_compiler_flag("-fstack-protector --param ssp-buffer-size=4" HAVE_SSP_FLAG)
|
||||
check_c_compiler_flag("-mstackrealign" HAVE_STACKREALIGN_FLAG)
|
||||
check_c_compiler_flag(-msse2 HAVE_MSSE2_FLAG)
|
||||
check_cxx_compiler_flag(-Weffc++ HAVE_WEFFCXX_FLAG)
|
||||
|
||||
add_compile_definitions(
|
||||
VERSION="${PROJECT_VERSION}"
|
||||
$<$<BOOL:${HAVE_BYTESWAP_H}>:HAVE_BYTESWAP_H>
|
||||
$<$<BOOL:${HAVE_INTTYPES_H}>:HAVE_INTTYPES_H>
|
||||
$<$<BOOL:${HAVE_STDINT_H}>:HAVE_STDINT_H>
|
||||
$<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS>
|
||||
$<$<BOOL:${MSVC}>:_USE_MATH_DEFINES>
|
||||
$<$<BOOL:${HAVE_ICONV}>:HAVE_ICONV>
|
||||
$<$<BOOL:${HAVE_LROUND}>:HAVE_LROUND>
|
||||
$<$<BOOL:${HAVE_CPUID_H}>:HAVE_CPUID_H>
|
||||
$<$<BOOL:${HAVE_SYS_PARAM_H}>:HAVE_SYS_PARAM_H>
|
||||
$<$<BOOL:${ENABLE_64_BIT_WORDS}>:ENABLE_64_BIT_WORDS>
|
||||
HAVE_BSWAP16=$<BOOL:${HAVE_BSWAP16}>
|
||||
HAVE_BSWAP32=$<BOOL:${HAVE_BSWAP32}>
|
||||
ENABLE_64_BIT_WORDS=$<BOOL:${ENABLE_64_BIT_WORDS}>
|
||||
WORDS_BIGENDIAN=$<BOOL:${CPU_IS_BIG_ENDIAN}>
|
||||
CPU_IS_BIG_ENDIAN=$<BOOL:${CPU_IS_BIG_ENDIAN}>
|
||||
CPU_IS_LITTLE_ENDIAN=$<NOT:${CPU_IS_BIG_ENDIAN}>
|
||||
FLAC__HAS_X86INTRIN=$<BOOL:${HAVE_X86INTRIN_H}>
|
||||
FLAC__HAS_OGG=$<BOOL:${OGG_FOUND}>
|
||||
FLAC__USE_AVX=$<BOOL:${WITH_AVX}>
|
||||
$<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:FLAC__OVERFLOW_DETECT>
|
||||
_ALL_SOURCE
|
||||
_DARWIN_C_SOURCE
|
||||
_GNU_SOURCE
|
||||
_POSIX_PTHREAD_SEMANTICS
|
||||
__STDC_WANT_IEC_60559_ATTRIBS_EXT__
|
||||
__STDC_WANT_IEC_60559_BFP_EXT__
|
||||
__STDC_WANT_IEC_60559_DFP_EXT__
|
||||
__STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||
__STDC_WANT_IEC_60559_TYPES_EXT__
|
||||
__STDC_WANT_LIB_EXT2__
|
||||
__STDC_WANT_MATH_SPEC_FUNCS__
|
||||
_TANDEM_SOURCE
|
||||
$<$<AND:$<BOOL:${HAVENOT_FORTIFY_SOURCE}>,$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>>:_FORTIFY_SOURCE=2>)
|
||||
|
||||
add_compile_options(
|
||||
$<$<BOOL:${MSVC}>:/wd4267>
|
||||
$<$<BOOL:${MSVC}>:/wd4996>
|
||||
$<$<BOOL:${ENABLE_WERROR}>:-Werror>
|
||||
$<$<AND:$<BOOL:${HAVE_SSP_FLAG}>,$<BOOL:${ENABLE_SSP}>>:"-fstack-protector --param ssp-buffer-size=4">
|
||||
$<$<AND:$<BOOL:${HAVE_MSSE2_FLAG}>,$<BOOL:FLAC_WITH_SSE>>:-msse2>)
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND HAVE_STACKREALIGN_FLAG)
|
||||
add_compile_options(-mstackrealign)
|
||||
endif()
|
||||
if(HAVE_WEFFCXX_FLAG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weffc++")
|
||||
endif()
|
||||
if(HAVE_DECL_AFTER_STMT_FLAG)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wdeclaration-after-statement")
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "[xX]86_64|(AMD|amd)64")
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set(IA32 TRUE)
|
||||
endif()
|
||||
add_compile_definitions(
|
||||
FLAC__CPU_X86_64
|
||||
FLAC__ALIGN_MALLOC_DATA)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "([xX]|i[346])86")
|
||||
set(IA32 TRUE)
|
||||
add_compile_definitions(
|
||||
FLAC__CPU_IA32
|
||||
FLAC__ALIGN_MALLOC_DATA)
|
||||
endif()
|
||||
|
||||
include(CheckLanguage)
|
||||
check_language(ASM_NASM)
|
||||
if(CMAKE_ASM_NASM_COMPILER)
|
||||
enable_language(ASM_NASM)
|
||||
add_compile_definitions(FLAC__HAS_NASM)
|
||||
endif()
|
||||
|
||||
if(NOT WITH_ASM)
|
||||
add_compile_definitions(FLAC__NO_ASM)
|
||||
endif()
|
||||
|
||||
if(WITH_ASM AND IA32 AND CMAKE_ASM_NASM_COMPILER)
|
||||
if(APPLE)
|
||||
set(CMAKE_ASM_NASM_FLAGS -dOBJ_FORMAT_macho)
|
||||
elseif(WIN32)
|
||||
set(CMAKE_ASM_NASM_FLAGS -dOBJ_FORMAT_win32)
|
||||
else()
|
||||
set(CMAKE_ASM_NASM_FLAGS -dOBJ_FORMAT_elf)
|
||||
endif()
|
||||
|
||||
add_library(FLAC-asm STATIC
|
||||
"${TARGET_SOURCE}/src/libFLAC/ia32/cpu_asm.nasm"
|
||||
"${TARGET_SOURCE}/src/libFLAC/ia32/fixed_asm.nasm"
|
||||
"${TARGET_SOURCE}/src/libFLAC/ia32/lpc_asm.nasm")
|
||||
set_target_properties(FLAC-asm PROPERTIES COMPILE_OPTIONS "")
|
||||
target_include_directories(FLAC-asm PRIVATE "${TARGET_SOURCE}/src/libFLAC/ia32/")
|
||||
endif()
|
||||
|
||||
add_library(FLAC-static STATIC
|
||||
"${TARGET_SOURCE}/src/libFLAC/bitmath.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/bitreader.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/bitwriter.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/cpu.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/crc.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/fixed.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/fixed_intrin_sse2.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/fixed_intrin_ssse3.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/float.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/format.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/lpc.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/lpc_intrin_sse.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/lpc_intrin_sse2.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/lpc_intrin_sse41.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/lpc_intrin_avx2.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/md5.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/memory.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/metadata_iterators.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/metadata_object.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/stream_decoder.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/stream_encoder.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/stream_encoder_intrin_sse2.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/stream_encoder_intrin_ssse3.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/stream_encoder_intrin_avx2.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/stream_encoder_framing.c"
|
||||
"${TARGET_SOURCE}/src/libFLAC/window.c"
|
||||
"$<$<BOOL:${OGG_FOUND}>:${TARGET_SOURCE}/src/libFLAC/ogg_decoder_aspect.c>"
|
||||
"$<$<BOOL:${OGG_FOUND}>:${TARGET_SOURCE}/src/libFLAC/ogg_encoder_aspect.c>"
|
||||
"$<$<BOOL:${OGG_FOUND}>:${TARGET_SOURCE}/src/libFLAC/ogg_helper.c>"
|
||||
"$<$<BOOL:${OGG_FOUND}>:${TARGET_SOURCE}/src/libFLAC/ogg_mapping.c>"
|
||||
"$<$<BOOL:${WIN32}>:${TARGET_SOURCE}/src/libFLAC/windows_unicode_filenames.c>")
|
||||
|
||||
include_directories(
|
||||
"${TARGET_SOURCE}/include"
|
||||
"${TARGET_SOURCE}/src/libFLAC/include")
|
||||
|
||||
target_compile_definitions(FLAC-static PUBLIC FLAC__NO_DLL)
|
||||
target_include_directories(FLAC-static INTERFACE
|
||||
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>")
|
||||
target_link_libraries(FLAC-static PUBLIC
|
||||
$<TARGET_NAME_IF_EXISTS:Ogg::Ogg>
|
||||
$<TARGET_NAME_IF_EXISTS:FLAC-asm>
|
||||
$<$<BOOL:${HAVE_LROUND}>:m>)
|
||||
set_target_properties(FLAC-static PROPERTIES OSX_ARCHITECTURES "")
|
||||
|
||||
add_library(FLACXX-static STATIC
|
||||
"${TARGET_SOURCE}/src/libFLAC++/metadata.cpp"
|
||||
"${TARGET_SOURCE}/src/libFLAC++/stream_decoder.cpp"
|
||||
"${TARGET_SOURCE}/src/libFLAC++/stream_encoder.cpp")
|
||||
target_compile_definitions(FLACXX-static PUBLIC FLAC__NO_DLL)
|
||||
target_include_directories(FLACXX-static INTERFACE
|
||||
"$<BUILD_INTERFACE:${TARGET_SOURCE}/include>")
|
||||
target_link_libraries(FLACXX-static PUBLIC FLAC-static)
|
||||
set_target_properties(FLACXX-static PROPERTIES OSX_ARCHITECTURES "")
|
||||
|
@ -18,7 +18,6 @@ include_directories(${top_dir}/lib-src/FileDialog/win)
|
||||
include_directories(${top_dir}/lib-src/ffmpeg)
|
||||
include_directories(${top_dir}/lib-src/ffmpeg/win32)
|
||||
include_directories(${top_dir}/lib-src/lib-widget-extra)
|
||||
include_directories(${top_dir}/lib-src/libflac/include)
|
||||
include_directories(${top_dir}/lib-src/libid3tag) #for id3tag.h
|
||||
include_directories(${top_dir}/lib-src/libmad/msvc++)
|
||||
include_directories(${top_dir}/lib-src/libmad)
|
||||
@ -58,7 +57,6 @@ include_directories(${top_dir}/lib-src/lame)
|
||||
add_definitions( -D_CRT_SECURE_NO_WARNINGS )
|
||||
|
||||
add_definitions( -DBUILDING_AUDACITY )
|
||||
add_definitions( -DFLAC__NO_DLL )
|
||||
add_definitions( -DXML_STATIC )
|
||||
add_definitions( -D__STDC_CONSTANT_MACROS )
|
||||
add_definitions( -DWXINTL_NO_GETTEXT_MACRO )
|
||||
@ -496,6 +494,7 @@ target_link_libraries(Audacity
|
||||
${wxWidgets_LIBRARIES}
|
||||
expat
|
||||
FileDialog
|
||||
FLACXX-static
|
||||
libsndfile
|
||||
libsoxr
|
||||
portaudio_static
|
||||
|
Loading…
x
Reference in New Issue
Block a user