mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-11-30 17:24:31 +01:00
54 lines
1.4 KiB
CMake
54 lines
1.4 KiB
CMake
if(NOT WIN32 AND USE_SPEEX)
|
|
if(NOT SPEEX_PATH)
|
|
find_package(Speex QUIET)
|
|
|
|
if(Speex_FOUND)
|
|
set(SPEEX_SOURCE "(system)")
|
|
endif()
|
|
endif()
|
|
if(SPEEX_PATH OR NOT Speex_FOUND)
|
|
FetchDependency(SPEEX
|
|
DIR speex
|
|
GIT_REPOSITORY https://gitlab.xiph.org/xiph/speex
|
|
GIT_TAG Speex-1.2.0
|
|
)
|
|
|
|
if(SPEEX_PATH)
|
|
set(SPEEX_LINK_PATH ${SPEEX_BIN}/libspeex/.libs/libspeex.a)
|
|
|
|
if(NOT EXISTS ${SPEEX_PATH}/configure)
|
|
add_custom_target(SPEEX_AUTORECONF
|
|
COMMAND ./autogen.sh
|
|
BYPRODUCTS ${SPEEX_PATH}/configure
|
|
WORKING_DIRECTORY ${SPEEX_PATH}
|
|
)
|
|
endif()
|
|
|
|
file(MAKE_DIRECTORY ${SPEEX_BIN})
|
|
add_custom_target(SPEEX_CONFIGURE
|
|
COMMAND "${SPEEX_PATH}/configure" --enable-static --disable-shared --disable-binaries --with-pic CC="${CMAKE_C_COMPILER}" AR="${CMAKE_AR}" RANLIB="${CMAKE_RANLIB}"
|
|
DEPENDS ${SPEEX_PATH}/configure
|
|
BYPRODUCTS ${SPEEX_BIN}/Makefile
|
|
WORKING_DIRECTORY ${SPEEX_BIN}
|
|
)
|
|
add_custom_target(SPEEX_MAKE
|
|
COMMAND make
|
|
DEPENDS ${SPEEX_BIN}/Makefile
|
|
BYPRODUCTS ${SPEEX_LINK_PATH} ${SPEEX_BIN}
|
|
WORKING_DIRECTORY ${SPEEX_BIN}
|
|
)
|
|
|
|
add_library(speex STATIC IMPORTED)
|
|
if(NOT EXISTS ${SPEEX_LINK_PATH})
|
|
add_dependencies(speex SPEEX_MAKE)
|
|
endif()
|
|
set_target_properties(speex PROPERTIES
|
|
IMPORTED_LOCATION ${SPEEX_LINK_PATH}
|
|
)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
if(NOT USE_SPEEX)
|
|
unset(SPEEX_SOURCE)
|
|
endif()
|