mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-10-31 14:13:50 +01:00 
			
		
		
		
	Connected libFLAC with libogg
This commit is contained in:
		
				
					committed by
					
						 James Crook
						James Crook
					
				
			
			
				
	
			
			
			
						parent
						
							617c1d8785
						
					
				
				
					commit
					67386e7799
				
			| @@ -20,11 +20,11 @@ set_target_properties(expat PROPERTIES OSX_ARCHITECTURES "") | ||||
|  | ||||
| add_subdirectory( "FileDialog" ) | ||||
| #add_subdirectory( "help" ) | ||||
| add_subdirectory( "libogg" ) | ||||
| add_subdirectory( "libflac" ) | ||||
| add_subdirectory( "libid3tag" ) | ||||
| add_subdirectory( "libmad" ) | ||||
| add_subdirectory( "libnyquist" ) | ||||
| add_subdirectory( "libogg" ) | ||||
| add_subdirectory( "libscorealign" ) | ||||
| add_subdirectory( "libsndfile" ) | ||||
| add_subdirectory( "libsoxr" ) | ||||
|   | ||||
| @@ -5,14 +5,9 @@ set(TARGET libflac) | ||||
| set(TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET}) | ||||
| project(${TARGET} VERSION 1.3.1) | ||||
|  | ||||
| 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() | ||||
|  | ||||
| if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") | ||||
|     if(CMAKE_BULD_TYPE STREQUAL Release) | ||||
|         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -funroll-loops") | ||||
| @@ -90,7 +85,6 @@ add_compile_definitions( | ||||
|     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 | ||||
| @@ -193,21 +187,21 @@ add_library(FLAC-static STATIC | ||||
|     "${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>" | ||||
|     "${TARGET_SOURCE}/src/libFLAC/ogg_decoder_aspect.c" | ||||
|     "${TARGET_SOURCE}/src/libFLAC/ogg_encoder_aspect.c" | ||||
|     "${TARGET_SOURCE}/src/libFLAC/ogg_helper.c" | ||||
|     "${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_compile_definitions(FLAC-static PUBLIC FLAC__NO_DLL FLAC__HAS_OGG) | ||||
| target_include_directories(FLAC-static INTERFACE | ||||
|     "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>") | ||||
| target_link_libraries(FLAC-static PUBLIC | ||||
|     $<TARGET_NAME_IF_EXISTS:Ogg::Ogg> | ||||
|     libogg | ||||
|     $<TARGET_NAME_IF_EXISTS:FLAC-asm> | ||||
|     $<$<BOOL:${HAVE_LROUND}>:m>) | ||||
| set_target_properties(FLAC-static PROPERTIES OSX_ARCHITECTURES "") | ||||
|   | ||||
| @@ -1,21 +1,96 @@ | ||||
| #directory cmake-proxies/libogg | ||||
| #UNUSED | ||||
| set( TARGET libogg ) | ||||
| set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} ) | ||||
| project( ${TARGET} ) | ||||
| set(TARGET libogg) | ||||
| set(TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET}) | ||||
|  | ||||
| set( SOURCES  | ||||
| ${LIB_SRC_DIRECTORY}libogg/src/bitwise.c | ||||
| ${LIB_SRC_DIRECTORY}libogg/src/framing.c | ||||
| ) | ||||
| # This defines the #define on both Windows and Linux. | ||||
| add_definitions(  | ||||
| -D_LIB | ||||
| ) | ||||
| add_library( ${TARGET} STATIC ${SOURCES}) | ||||
| project(${TARGET}) | ||||
|  | ||||
| target_include_directories( ${TARGET} PRIVATE  | ||||
| ${TARGET_SOURCE}/include | ||||
| ) | ||||
| include(CheckIncludeFile) | ||||
| include(CheckTypeSize) | ||||
|  | ||||
| target_link_libraries( ${TARGET} ) | ||||
| check_include_file("inttypes.h" INCLUDE_INTTYPES_H) | ||||
| check_include_file("stdint.h" INCLUDE_STDINT_H) | ||||
| check_include_file("sys/types.h" INCLUDE_SYS_TYPES_H) | ||||
|  | ||||
| check_type_size("int16_t" INT16_SIZE LANGUAGE C) | ||||
| check_type_size("uint16_t" UINT16_SIZE LANGUAGE C) | ||||
| check_type_size("u_int16_t" U_INT16_SIZE LANGUAGE C) | ||||
| check_type_size("int32_t" INT32_SIZE LANGUAGE C) | ||||
| check_type_size("uint32_t" UINT32_SIZE LANGUAGE C) | ||||
| check_type_size("u_int32_t" U_INT32_SIZE LANGUAGE C) | ||||
| check_type_size("int64_t" INT64_SIZE LANGUAGE C) | ||||
| check_type_size("short" SHORT_SIZE LANGUAGE C) | ||||
| check_type_size("int" INT_SIZE LANGUAGE C) | ||||
| check_type_size("long" LONG_SIZE LANGUAGE C) | ||||
| check_type_size("long long" LONG_LONG_SIZE LANGUAGE C) | ||||
|  | ||||
| if(INT16_SIZE EQUAL 2) | ||||
|     set(SIZE16 "int16_t") | ||||
| elseif(SHORT_SIZE EQUAL 2) | ||||
|     set(SIZE16 "short") | ||||
| elseif(INT_SIZE EQUAL 2) | ||||
|     set(SIZE16 "int") | ||||
| else() | ||||
|     message(FATAL_ERROR "No 16 bit type found on this platform!") | ||||
| endif() | ||||
|  | ||||
| if(UINT16_SIZE EQUAL 2) | ||||
|     set(USIZE16 "uint16_t") | ||||
| elseif(SHORT_SIZE EQUAL 2) | ||||
|     set(USIZE16 "unsigned short") | ||||
| elseif(INT_SIZE EQUAL 2) | ||||
|     set(USIZE16 "unsigned int") | ||||
| elseif(U_INT_SIZE EQUAL 2) | ||||
|     set(USIZE16 "u_int16_t") | ||||
| else() | ||||
|     message(FATAL_ERROR "No unsigned 16 bit type found on this platform!") | ||||
| endif() | ||||
|  | ||||
| if(INT32_SIZE EQUAL 4) | ||||
|     set(SIZE32 "int32_t") | ||||
| elseif(SHORT_SIZE EQUAL 4) | ||||
|     set(SIZE32 "short") | ||||
| elseif(INT_SIZE EQUAL 4) | ||||
|     set(SIZE32 "int") | ||||
| elseif(LONG_SIZE EQUAL 4) | ||||
|     set(SIZE16 "long") | ||||
| else() | ||||
|     message(FATAL_ERROR "No 32 bit type found on this platform!") | ||||
| endif() | ||||
|  | ||||
| if(UINT32_SIZE EQUAL 4) | ||||
|     set(USIZE32 "uint32_t") | ||||
| elseif(SHORT_SIZE EQUAL 4) | ||||
|     set(USIZE32 "unsigned short") | ||||
| elseif(INT_SIZE EQUAL 4) | ||||
|     set(USIZE32 "unsigned int") | ||||
| elseif(LONG_SIZE EQUAL 4) | ||||
|     set(USIZE32 "unsigned long") | ||||
| elseif(U_INT_SIZE EQUAL 4) | ||||
|     set(USIZE32 "u_int32_t") | ||||
| else() | ||||
|     message(FATAL_ERROR "No unsigned 32 bit type found on this platform!") | ||||
| endif() | ||||
|  | ||||
| if(INT64_SIZE EQUAL 8) | ||||
|     set(SIZE64 "int64_t") | ||||
| elseif(INT_SIZE EQUAL 8) | ||||
|     set(SIZE64 "int") | ||||
| elseif(LONG_SIZE EQUAL 8) | ||||
|     set(SIZE64 "long") | ||||
| elseif(LONG_LONG_SIZE EQUAL 8) | ||||
|     set(SIZE64 "long long") | ||||
| else() | ||||
|     message(FATAL_ERROR "No 64 bit type found on this platform!") | ||||
| endif() | ||||
|  | ||||
| configure_file( | ||||
|     "${LIB_SRC_DIRECTORY}libogg/include/ogg/config_types.h.in" | ||||
|     "ogg/config_types.h") | ||||
|  | ||||
| add_library(${TARGET} | ||||
|     "${LIB_SRC_DIRECTORY}libogg/src/bitwise.c" | ||||
|     "${LIB_SRC_DIRECTORY}libogg/src/framing.c") | ||||
|  | ||||
| target_include_directories(${TARGET} PUBLIC | ||||
|     "${TARGET_SOURCE}/include" | ||||
|     "${CMAKE_CURRENT_BINARY_DIR}") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user