mirror of https://github.com/AxioDL/boo.git
36 lines
1.2 KiB
CMake
36 lines
1.2 KiB
CMake
# SoX Resampler Library Copyright (c) 2007-16 robs@users.sourceforge.net
|
|
# Licence for this file: LGPL v2.1 See LICENCE for details.
|
|
|
|
# - Function to find C compiler feature flags
|
|
|
|
include (CheckCSourceCompiles)
|
|
include (FindPackageHandleStandardArgs)
|
|
|
|
function (FindCFlags PKG_NAME PKG_DESC TRIAL_C_FLAGS TEST_C_SOURCE)
|
|
|
|
foreach (TRIAL_C_FLAG ${TRIAL_C_FLAGS})
|
|
message (STATUS "Trying ${PKG_NAME} C flags: ${TRIAL_C_FLAG}")
|
|
unset (DETECT_${PKG_NAME}_C_FLAGS CACHE) #displayed by check_c_source_compiles
|
|
|
|
set (TMP "${CMAKE_REQUIRED_FLAGS}")
|
|
set (CMAKE_REQUIRED_FLAGS "${TRIAL_C_FLAG}")
|
|
check_c_source_compiles ("${TEST_C_SOURCE}" DETECT_${PKG_NAME}_C_FLAGS)
|
|
set (CMAKE_REQUIRED_FLAGS "${TMP}")
|
|
|
|
if (DETECT_${PKG_NAME}_C_FLAGS)
|
|
set (DETECTED_C_FLAGS "${TRIAL_C_FLAG}")
|
|
break ()
|
|
endif ()
|
|
endforeach ()
|
|
|
|
# N.B. Will not overwrite existing cache variable:
|
|
set (${PKG_NAME}_C_FLAGS "${DETECTED_C_FLAGS}"
|
|
CACHE STRING "C compiler flags for ${PKG_DESC}")
|
|
|
|
find_package_handle_standard_args (
|
|
${PKG_NAME} DEFAULT_MSG ${PKG_NAME}_C_FLAGS ${PKG_NAME}_C_FLAGS)
|
|
mark_as_advanced (${PKG_NAME}_C_FLAGS)
|
|
set (${PKG_NAME}_FOUND ${${PKG_NAME}_FOUND} PARENT_SCOPE)
|
|
|
|
endfunction ()
|