49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								cmake_minimum_required(VERSION 3.4)
							 | 
						||
| 
								 | 
							
								project(opusfile C)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if(MSVC)
							 | 
						||
| 
								 | 
							
								set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4090")
							 | 
						||
| 
								 | 
							
								endif()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_path(OGG_INCLUDE_DIR ogg/ogg.h)
							 | 
						||
| 
								 | 
							
								find_library(OGG_LIBRARY ogg)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_path(OPUS_INCLUDE_DIR opus.h PATH_SUFFIXES opus)
							 | 
						||
| 
								 | 
							
								find_library(OPUS_LIBRARY opus)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								add_library(opusfile
							 | 
						||
| 
								 | 
							
								    src/info.c
							 | 
						||
| 
								 | 
							
								    src/internal.c
							 | 
						||
| 
								 | 
							
								    src/opusfile.c
							 | 
						||
| 
								 | 
							
								    src/stream.c)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								target_include_directories(opusfile PRIVATE include PUBLIC ${OGG_INCLUDE_DIR} ${OPUS_INCLUDE_DIR})
							 | 
						||
| 
								 | 
							
								target_link_libraries(opusfile PRIVATE ${OGG_LIBRARY} ${OPUS_LIBRARY})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								install(TARGETS opusfile
							 | 
						||
| 
								 | 
							
								    RUNTIME DESTINATION bin
							 | 
						||
| 
								 | 
							
								    LIBRARY DESTINATION lib
							 | 
						||
| 
								 | 
							
								    ARCHIVE DESTINATION lib)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if(BUILD_OPUSURL)
							 | 
						||
| 
								 | 
							
								    find_package(OpenSSL MODULE REQUIRED)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    add_library(opusurl
							 | 
						||
| 
								 | 
							
								        src/http.c
							 | 
						||
| 
								 | 
							
								        src/wincerts.c)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    target_compile_definitions(opusurl PRIVATE OP_ENABLE_HTTP)
							 | 
						||
| 
								 | 
							
								    target_include_directories(opusurl PRIVATE include)
							 | 
						||
| 
								 | 
							
								    target_link_libraries(opusurl PRIVATE opusfile OpenSSL::SSL ws2_32.lib crypt32.lib)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    install(TARGETS opusurl
							 | 
						||
| 
								 | 
							
								        RUNTIME DESTINATION bin
							 | 
						||
| 
								 | 
							
								        LIBRARY DESTINATION lib
							 | 
						||
| 
								 | 
							
								        ARCHIVE DESTINATION lib)
							 | 
						||
| 
								 | 
							
								endif()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if(NOT OPUSFILE_SKIP_HEADERS)
							 | 
						||
| 
								 | 
							
								    install(FILES include/opusfile.h
							 | 
						||
| 
								 | 
							
								        DESTINATION include/opus)
							 | 
						||
| 
								 | 
							
								endif()
							 |