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