]> git.lyx.org Git - lyx.git/blob - development/cmake/modules/FindMagic.cmake
Remove boost/format support
[lyx.git] / development / cmake / modules / FindMagic.cmake
1 #
2 #  Copyright (c) 2006, Peter Kümmel, <syntheticpp@gmx.net>
3 #                2012, Kornel Benko, <kornel@lyx.org>
4 #
5 #  Redistribution and use in source and binary forms, with or without
6 #  modification, are permitted provided that the following conditions
7 #  are met:
8 #  
9 #  1. Redistributions of source code must retain the copyright
10 #     notice, this list of conditions and the following disclaimer.
11 #  2. Redistributions in binary form must reproduce the copyright
12 #     notice, this list of conditions and the following disclaimer in the
13 #     documentation and/or other materials provided with the distribution.
14 #  3. The name of the author may not be used to endorse or promote products 
15 #     derived from this software without specific prior written permission.
16 #  
17 #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 #  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 #  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 #  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 #  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 #  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 #  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 #  
28
29 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
30
31 include(CheckFunctionExists)
32 macro(check_magic_functions_exists _varname)
33         set(${_varname} 1)
34         if (Magic_LIBRARY)
35                 set(CMAKE_REQUIRED_LIBRARIES ${Magic_LIBRARY})
36         endif()
37         foreach(fkt file open load close error)
38                 check_function_exists(magic_${fkt} HAS_function_magic_${fkt})
39                 if (NOT HAS_function_magic_${fkt})
40                         set(${_varname} 0)
41                         message(STATUS "Function magic_${fkt} not found")
42                 endif()
43         endforeach()
44 endmacro()
45 if (Magic_INCLUDE_DIR)
46   # Already in cache, be silent
47   set(Magic_FIND_QUIETLY TRUE)
48 endif()
49
50 find_path(Magic_INCLUDE_DIR magic.h PATHS
51  /usr/include
52  /usr/local/include)
53         
54 find_library(Magic_LIBRARY NAMES "magic")
55         
56 check_magic_functions_exists(HAS_MAGIC_FUNCTIONS)
57
58 # handle the QUIET and REQUIRED arguments and DEFAULT_MSG
59 # set Magic_FOUND to TRUE if all listed variables are TRUE
60
61 include(FindPackageHandleStandardArgs)
62 find_package_handle_standard_args(Magic DEFAULT_MSG Magic_INCLUDE_DIR Magic_LIBRARY HAS_MAGIC_FUNCTIONS)