59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
vcpkg_from_github(
 | 
						|
    OUT_SOURCE_PATH SOURCE_PATH
 | 
						|
    REPO xiph/opus
 | 
						|
    REF "v${VERSION}"
 | 
						|
    SHA512 86df35cd62ebf3551b2739effb8f818d635656d91d386d7d600a424a92c4c0d6bfbc3986f1ec6cf4950910ac87b28dc9640b9df3b9a6a5a75eb37ae71782b72e
 | 
						|
    HEAD_REF master
 | 
						|
    PATCHES fix-pkgconfig-version.patch
 | 
						|
)
 | 
						|
 | 
						|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
 | 
						|
    FEATURES
 | 
						|
        avx AVX_SUPPORTED
 | 
						|
)
 | 
						|
 | 
						|
set(ADDITIONAL_OPUS_OPTIONS "")
 | 
						|
if(VCPKG_TARGET_IS_MINGW)
 | 
						|
    set(STACK_PROTECTOR OFF)
 | 
						|
    string(APPEND VCPKG_C_FLAGS "-D_FORTIFY_SOURCE=0")
 | 
						|
    string(APPEND VCPKG_CXX_FLAGS "-D_FORTIFY_SOURCE=0")
 | 
						|
elseif(VCPKG_TARGET_IS_EMSCRIPTEN)
 | 
						|
    set(STACK_PROTECTOR OFF)
 | 
						|
else()
 | 
						|
    set(STACK_PROTECTOR ON)
 | 
						|
endif()
 | 
						|
 | 
						|
if((VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") OR
 | 
						|
   (VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") OR
 | 
						|
   (VCPKG_TARGET_IS_ANDROID AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_CMAKE_CONFIGURE_OPTIONS MATCHES "ANDROID_ARM_NEON"))
 | 
						|
    message(STATUS "Disabling ARM NEON and intrinsics on ${TARGET_TRIPLET}")
 | 
						|
    list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_DISABLE_INTRINSICS=ON -DCOMPILER_SUPPORTS_NEON=OFF") # for HEAD (and future Opus release)
 | 
						|
endif()
 | 
						|
 | 
						|
vcpkg_cmake_configure(
 | 
						|
    SOURCE_PATH "${SOURCE_PATH}"
 | 
						|
    OPTIONS ${FEATURE_OPTIONS}
 | 
						|
        -DPACKAGE_VERSION=${VERSION}
 | 
						|
        -DOPUS_STACK_PROTECTOR=${STACK_PROTECTOR}
 | 
						|
        -DOPUS_INSTALL_PKG_CONFIG_MODULE=ON
 | 
						|
        -DOPUS_INSTALL_CMAKE_CONFIG_MODULE=ON
 | 
						|
        -DOPUS_BUILD_PROGRAMS=OFF
 | 
						|
        -DOPUS_BUILD_TESTING=OFF
 | 
						|
        ${ADDITIONAL_OPUS_OPTIONS}
 | 
						|
    MAYBE_UNUSED_VARIABLES
 | 
						|
        OPUS_USE_NEON
 | 
						|
        OPUS_DISABLE_INTRINSICS
 | 
						|
)
 | 
						|
vcpkg_cmake_install()
 | 
						|
vcpkg_copy_pdbs()
 | 
						|
 | 
						|
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Opus)
 | 
						|
vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m)
 | 
						|
 | 
						|
 | 
						|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake"
 | 
						|
                    "${CURRENT_PACKAGES_DIR}/lib/cmake"
 | 
						|
                    "${CURRENT_PACKAGES_DIR}/debug/include")
 | 
						|
 | 
						|
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
 |