Torque3D/Engine/lib/opus/cmake/CFeatureCheck.cmake
marauder2k7 a745fc3757 Initial commit
added libraries:
opus
flac
libsndfile

updated:
libvorbis
libogg
openal

- Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
2024-03-21 17:33:47 +00:00

40 lines
1 KiB
CMake

# - Compile and run code to check for C features
#
# This functions compiles a source file under the `cmake` folder
# and adds the corresponding `HAVE_[FILENAME]` flag to the CMake
# environment
#
# c_feature_check(<FLAG> [<VARIANT>])
#
# - Example
#
# include(CFeatureCheck)
# c_feature_check(VLA)
if(__c_feature_check)
return()
endif()
set(__c_feature_check INCLUDED)
function(c_feature_check FILE)
string(TOLOWER ${FILE} FILE)
string(TOUPPER ${FILE} VAR)
string(TOUPPER "${VAR}_SUPPORTED" FEATURE)
if (DEFINED ${VAR}_SUPPORTED)
set(${VAR}_SUPPORTED 1 PARENT_SCOPE)
return()
endif()
if (NOT DEFINED COMPILE_${FEATURE})
message(STATUS "Performing Test ${FEATURE}")
try_compile(COMPILE_${FEATURE} ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/${FILE}.c)
endif()
if(COMPILE_${FEATURE})
message(STATUS "Performing Test ${FEATURE} -- success")
set(${VAR}_SUPPORTED 1 PARENT_SCOPE)
else()
message(STATUS "Performing Test ${FEATURE} -- failed to compile")
endif()
endfunction()