106 lines
2.7 KiB
CMake
106 lines
2.7 KiB
CMake
function(debugmsg MSG)
|
|
if(DEBUG_OUTPUT)
|
|
message(STATUS "DEBUG: ${MSG}")
|
|
endif()
|
|
endfunction()
|
|
|
|
macro(check_deps)
|
|
|
|
|
|
# Check for libraries MaxScale depends on
|
|
find_library(HAVE_LIBAIO NAMES aio)
|
|
if(NOT HAVE_LIBAIO)
|
|
message(FATAL_ERROR "Could not find libaio")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBSSL NAMES ssl)
|
|
if(NOT HAVE_LIBSSL)
|
|
message(FATAL_ERROR "Could not find libssl")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBCRYPT NAMES crypt)
|
|
if(NOT HAVE_LIBCRYPT)
|
|
message(FATAL_ERROR "Could not find libcrypt")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBCRYPTO NAMES crypto)
|
|
if(NOT HAVE_LIBCRYPTO)
|
|
message(FATAL_ERROR "Could not find libcrypto")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBZ NAMES z)
|
|
if(NOT HAVE_LIBZ)
|
|
message(FATAL_ERROR "Could not find libz")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBM NAMES m)
|
|
if(NOT HAVE_LIBM)
|
|
message(FATAL_ERROR "Could not find libm")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBDL NAMES dl)
|
|
if(NOT HAVE_LIBDL)
|
|
message(FATAL_ERROR "Could not find libdl")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBRT NAMES rt)
|
|
if(NOT HAVE_LIBRT)
|
|
message(FATAL_ERROR "Could not find librt")
|
|
endif()
|
|
|
|
find_library(HAVE_LIBPTHREAD NAMES pthread)
|
|
if(NOT HAVE_LIBPTHREAD)
|
|
message(FATAL_ERROR "Could not find libpthread")
|
|
endif()
|
|
|
|
|
|
endmacro()
|
|
|
|
macro(check_dirs)
|
|
# Check which init.d script to install
|
|
if(WITH_SCRIPTS)
|
|
find_file(RPM_FNC functions PATHS /etc/rc.d/init.d)
|
|
if(${RPM_FNC} MATCHES "RPM_FNC-NOTFOUND")
|
|
find_file(DEB_FNC init-functions PATHS /lib/lsb)
|
|
if(${DEB_FNC} MATCHES "DEB_FNC-NOTFOUND")
|
|
message(FATAL_ERROR "Cannot find required init-functions in /lib/lsb/ or /etc/rc.d/init.d/, please confirm that your system files are OK.")
|
|
else()
|
|
find_file(SLES_FNC SuSE-release PATHS /etc)
|
|
if(${SLES_FNC} MATCHES "SLES_FNC-NOTFOUND")
|
|
set(DEB_BASED TRUE CACHE BOOL "If init.d script uses /lib/lsb/init-functions instead of /etc/rc.d/init.d/functions.")
|
|
else()
|
|
set(SLES_BASED TRUE CACHE BOOL "SLES11 has reduced /lib/lsb/init-functions and needs a special init-script")
|
|
endif()
|
|
endif()
|
|
else()
|
|
set(DEB_BASED FALSE CACHE BOOL "If init.d script uses /lib/lsb/init-functions instead of /etc/rc.d/init.d/functions.")
|
|
endif()
|
|
unset(DEB_FNC)
|
|
unset(RPM_FNC)
|
|
unset(SLES_FNC)
|
|
endif()
|
|
|
|
#Check RabbitMQ headers and libraries
|
|
if(BUILD_RABBITMQ)
|
|
find_package(RabbitMQ)
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
function(subdirs VAR DIRPATH)
|
|
|
|
if(${CMAKE_VERSION} VERSION_LESS 2.8.12 )
|
|
set(COMP_VAR PATH)
|
|
else()
|
|
set(COMP_VAR DIRECTORY)
|
|
endif()
|
|
file(GLOB_RECURSE SDIR ${DIRPATH}/*)
|
|
foreach(LOOP ${SDIR})
|
|
get_filename_component(LOOP ${LOOP} ${COMP_VAR})
|
|
list(APPEND ALLDIRS ${LOOP})
|
|
endforeach()
|
|
list(REMOVE_DUPLICATES ALLDIRS)
|
|
set(${VAR} "${ALLDIRS}" CACHE PATH " " FORCE)
|
|
|
|
endfunction()
|