mirror of https://github.com/pvnis/srsRAN_4G.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.9 KiB
CMake
60 lines
1.9 KiB
CMake
INCLUDE(FindPkgConfig)
|
|
PKG_CHECK_MODULES(PC_VOLK volk QUIET)
|
|
|
|
FIND_PATH(
|
|
VOLK_INCLUDE_DIRS
|
|
NAMES volk.h
|
|
HINTS $ENV{VOLK_DIR}/include/volk
|
|
${CMAKE_INSTALL_PREFIX}/include/volk
|
|
${PC_VOLK_INCLUDE_DIR}
|
|
PATHS /usr/local/include/volk
|
|
/usr/include/volk
|
|
)
|
|
|
|
FIND_LIBRARY(
|
|
VOLK_LIBRARIES
|
|
NAMES volk
|
|
HINTS $ENV{VOLK_DIR}/lib
|
|
${CMAKE_INSTALL_PREFIX}/lib
|
|
${CMAKE_INSTALL_PREFIX}/lib64
|
|
${PC_VOLK_LIBDIR}
|
|
PATHS /usr/local/lib
|
|
/usr/local/lib64
|
|
/usr/lib
|
|
/usr/lib64
|
|
)
|
|
|
|
# Some functions are not defined in old volk versions
|
|
SET(CMAKE_REQUIRED_LIBRARIES volk m)
|
|
CHECK_FUNCTION_EXISTS_MATH(volk_32f_index_max_16u HAVE_VOLK_MAX_FUNCTION)
|
|
CHECK_FUNCTION_EXISTS_MATH(volk_32f_accumulator_s32f HAVE_VOLK_ACC_FUNCTION)
|
|
CHECK_FUNCTION_EXISTS_MATH(volk_32fc_s32fc_multiply_32fc HAVE_VOLK_MULT_FUNCTION)
|
|
CHECK_FUNCTION_EXISTS_MATH(volk_32fc_conjugate_32fc HAVE_VOLK_CONJ_FUNCTION)
|
|
CHECK_FUNCTION_EXISTS_MATH(volk_32fc_x2_multiply_32fc HAVE_VOLK_MULT2_FUNCTION)
|
|
CHECK_FUNCTION_EXISTS_MATH(volk_32fc_magnitude_32f HAVE_VOLK_MAG_FUNCTION)
|
|
|
|
|
|
SET(VOLK_DEFINITIONS "HAVE_VOLK")
|
|
IF(${HAVE_VOLK_MAX_FUNCTION})
|
|
SET(VOLK_DEFINITIONS "${VOLK_DEFINITIONS}; HAVE_VOLK_MAX_FUNCTION")
|
|
ENDIF()
|
|
IF(${HAVE_VOLK_ACC_FUNCTION})
|
|
SET(VOLK_DEFINITIONS "${VOLK_DEFINITIONS}; HAVE_VOLK_ACC_FUNCTION")
|
|
ENDIF()
|
|
IF(${HAVE_VOLK_MULT_FUNCTION})
|
|
SET(VOLK_DEFINITIONS "${VOLK_DEFINITIONS}; HAVE_VOLK_MULT_FUNCTION")
|
|
ENDIF()
|
|
IF(${HAVE_VOLK_CONJ_FUNCTION})
|
|
SET(VOLK_DEFINITIONS "${VOLK_DEFINITIONS}; HAVE_VOLK_CONJ_FUNCTION")
|
|
ENDIF()
|
|
IF(${HAVE_VOLK_MULT2_FUNCTION})
|
|
SET(VOLK_DEFINITIONS "${VOLK_DEFINITIONS}; HAVE_VOLK_MULT2_FUNCTION")
|
|
ENDIF()
|
|
IF(${HAVE_VOLK_MAG_FUNCTION})
|
|
SET(VOLK_DEFINITIONS "${VOLK_DEFINITIONS}; HAVE_VOLK_MAG_FUNCTION")
|
|
ENDIF()
|
|
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(VOLK DEFAULT_MSG VOLK_LIBRARIES VOLK_INCLUDE_DIRS)
|
|
MARK_AS_ADVANCED(VOLK_LIBRARIES VOLK_INCLUDE_DIRS VOLK_DEFINITIONS)
|