a84765d4e99ee76e13f4be5b526dbefc089a204b
[oweals/minetest.git] / cmake / Modules / FindIrrlicht.cmake
1 #FindIrrlicht.cmake
2
3 set(IRRLICHT_SOURCE_DIR "" CACHE PATH "Path to irrlicht source directory (optional)")
4
5 # Find include directory
6
7 if(NOT IRRLICHT_SOURCE_DIR STREQUAL "")
8         set(IRRLICHT_SOURCE_DIR_INCLUDE
9                 "${IRRLICHT_SOURCE_DIR}/include"
10         )
11
12         set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a Irrlicht Irrlicht.lib)
13
14         if(WIN32)
15                 if(MSVC)
16                         set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Win32-visualstudio")
17                         set(IRRLICHT_LIBRARY_NAMES Irrlicht.lib)
18                 else()
19                         set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Win32-gcc")
20                         set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a libIrrlicht.dll.a)
21                 endif()
22         else()
23                 set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Linux")
24                 set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a)
25         endif()
26
27         FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
28                 PATHS
29                 ${IRRLICHT_SOURCE_DIR_INCLUDE}
30                 NO_DEFAULT_PATH
31         )
32
33         FIND_LIBRARY(IRRLICHT_LIBRARY NAMES ${IRRLICHT_LIBRARY_NAMES}
34                 PATHS
35                 ${IRRLICHT_SOURCE_DIR_LIBS}
36                 NO_DEFAULT_PATH
37         )
38
39 else()
40
41         FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
42                 PATHS
43                 /usr/local/include/irrlicht
44                 /usr/include/irrlicht
45         )
46
47         FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht
48                 PATHS
49                 /usr/local/lib
50                 /usr/lib
51         )
52 endif()
53
54 MESSAGE(STATUS "IRRLICHT_SOURCE_DIR = ${IRRLICHT_SOURCE_DIR}")
55 MESSAGE(STATUS "IRRLICHT_INCLUDE_DIR = ${IRRLICHT_INCLUDE_DIR}")
56 MESSAGE(STATUS "IRRLICHT_LIBRARY = ${IRRLICHT_LIBRARY}")
57
58 # On windows, find the dll for installation
59 if(WIN32)
60         if(MSVC)
61                 FIND_FILE(IRRLICHT_DLL NAMES Irrlicht.dll
62                         PATHS
63                         "${IRRLICHT_SOURCE_DIR}/bin/Win32-VisualStudio"
64                         DOC "Path of the Irrlicht dll (for installation)"
65                 )
66         else()
67                 FIND_FILE(IRRLICHT_DLL NAMES Irrlicht.dll
68                         PATHS
69                         "${IRRLICHT_SOURCE_DIR}/bin/Win32-gcc"
70                         DOC "Path of the Irrlicht dll (for installation)"
71                 )
72         endif()
73         MESSAGE(STATUS "IRRLICHT_DLL = ${IRRLICHT_DLL}")
74 endif(WIN32)
75
76 # handle the QUIETLY and REQUIRED arguments and set IRRLICHT_FOUND to TRUE if
77 # all listed variables are TRUE
78 INCLUDE(FindPackageHandleStandardArgs)
79 FIND_PACKAGE_HANDLE_STANDARD_ARGS(Irrlicht DEFAULT_MSG IRRLICHT_LIBRARY IRRLICHT_INCLUDE_DIR)
80
81 IF(IRRLICHT_FOUND)
82   SET(IRRLICHT_LIBRARIES ${IRRLICHT_LIBRARY})
83 ELSE(IRRLICHT_FOUND)
84   SET(IRRLICHT_LIBRARIES)
85 ENDIF(IRRLICHT_FOUND)
86
87 MARK_AS_ADVANCED(IRRLICHT_LIBRARY IRRLICHT_INCLUDE_DIR IRRLICHT_DLL) 
88