blob: 632544b199117447ccaaae52b8dda08ea175e1dd [file] [log] [blame]
# Locate apr-util include paths and libraries. Based on findapr.cmake;
# simple modifications to apply to apr-util instead.
# This module defines
# APU_INCLUDES, where to find apu.h, etc.
# APU_LIBS, linker switches to use with ld to link against apr-util
# APU_EXTRALIBS, additional libraries to link against
# APU_LDFLAGS, additional linker flags that must be used
# APU_FOUND, set to TRUE if found, FALSE otherwise
# APU_VERSION, set to the version of apr-util found
set(APU_FOUND FALSE)
find_program(APU_CONFIG_EXECUTABLE apu-1-config)
mark_as_advanced(APU_CONFIG_EXECUTABLE)
macro(_apu_invoke _varname _separate _regexp)
execute_process(
COMMAND ${APU_CONFIG_EXECUTABLE} ${ARGN}
OUTPUT_VARIABLE _apu_output
RESULT_VARIABLE _apu_failed
)
if(_apu_failed)
message(FATAL_ERROR "${APU_CONFIG_EXECUTABLE} ${ARGN} failed")
else()
string(REGEX REPLACE "[\r\n]" "" _apu_output "${_apu_output}")
string(REGEX REPLACE " +$" "" _apu_output "${_apu_output}")
if(NOT ${_regexp} STREQUAL "")
string(REGEX REPLACE "${_regexp}" " " _apu_output "${_apu_output}")
endif()
# XXX: We don't want to invoke separate_arguments() for APU_LDFLAGS;
# just leave as-is
if(${_separate})
separate_arguments(_apu_output)
endif()
set(${_varname} "${_apu_output}")
endif()
endmacro(_apu_invoke)
_apu_invoke(APU_INCLUDES TRUE "(^| )-I" --includes)
_apu_invoke(APU_EXTRALIBS TRUE "(^| )-l" --libs)
_apu_invoke(APU_LIBS TRUE "" --link-ld)
_apu_invoke(APU_LDFLAGS FALSE "" --ldflags)
_apu_invoke(APU_VERSION TRUE "" --version)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(APU DEFAULT_MSG APU_INCLUDES APU_LIBS APU_VERSION)