From 77a31ee0f27ef611abdba6233d602e93b474e7aa Mon Sep 17 00:00:00 2001 From: Kornel Benko Date: Sat, 25 Feb 2012 13:07:17 +0000 Subject: [PATCH] Check for needed magic functions before using libmagic git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40795 a592a061-630c-0410-9148-cb99ea01b6c8 --- development/cmake/modules/FindMagic.cmake | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/development/cmake/modules/FindMagic.cmake b/development/cmake/modules/FindMagic.cmake index 7690fb9839..74902a2e7a 100644 --- a/development/cmake/modules/FindMagic.cmake +++ b/development/cmake/modules/FindMagic.cmake @@ -28,6 +28,20 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) +include(CheckFunctionExists) +macro(check_magic_functions_exists _varname) + set(${_varname} 1) + if (Magic_LIBRARY) + set(CMAKE_REQUIRED_LIBRARIES ${Magic_LIBRARY}) + endif() + foreach(fkt file open load close error) + check_function_exists(magic_${fkt} HAS_function_magic_${fkt}) + if (NOT HAS_function_magic_${fkt}) + set(${_varname} 0) + message(STATUS "Function magic_${fkt} not found") + endif() + endforeach() +endmacro() if (Magic_INCLUDE_DIR) # Already in cache, be silent set(Magic_FIND_QUIETLY TRUE) @@ -39,9 +53,9 @@ find_path(Magic_INCLUDE_DIR magic.h PATHS find_library(Magic_LIBRARY NAMES "magic") -include(CheckFunctionExists) -check_function_exists(magic_open HAVE_HAVE_MAGIC_OPEN) -if(Magic_INCLUDE_DIR AND Magic_LIBRARY) +check_magic_functions_exists(HAS_MAGIC_FUNCTIONS) + +if(Magic_INCLUDE_DIR AND Magic_LIBRARY AND HAS_MAGIC_FUNCTIONS) set(Magic_FOUND TRUE) endif() -- 2.39.2