]> git.lizzy.rs Git - dragonfireclient.git/blob - cmake/Modules/FindIrrlicht.cmake
Add compatibility to vcpkg buildsystem (#8317)
[dragonfireclient.git] / cmake / Modules / FindIrrlicht.cmake
1
2 mark_as_advanced(IRRLICHT_LIBRARY IRRLICHT_INCLUDE_DIR IRRLICHT_DLL)
3 set(IRRLICHT_SOURCE_DIR "" CACHE PATH "Path to irrlicht source directory (optional)")
4
5
6 # Find include directory
7
8 if(NOT IRRLICHT_SOURCE_DIR STREQUAL "")
9         set(IRRLICHT_SOURCE_DIR_INCLUDE
10                 "${IRRLICHT_SOURCE_DIR}/include"
11         )
12
13         set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a Irrlicht Irrlicht.lib)
14
15         if(WIN32)
16                 if(MSVC)
17                         set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Win32-visualstudio")
18                         set(IRRLICHT_LIBRARY_NAMES Irrlicht.lib)
19                 else()
20                         set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Win32-gcc")
21                         set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a libIrrlicht.dll.a)
22                 endif()
23         else()
24                 set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Linux")
25                 set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a)
26         endif()
27
28         find_path(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
29                 PATHS
30                 ${IRRLICHT_SOURCE_DIR_INCLUDE}
31                 NO_DEFAULT_PATH
32         )
33
34         find_library(IRRLICHT_LIBRARY NAMES ${IRRLICHT_LIBRARY_NAMES}
35                 PATHS
36                 ${IRRLICHT_SOURCE_DIR_LIBS}
37                 NO_DEFAULT_PATH
38         )
39
40 else()
41         find_path(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
42                 PATHS
43                 /usr/local/include/irrlicht
44                 /usr/include/irrlicht
45                 /system/develop/headers/irrlicht #Haiku
46                 PATH_SUFFIXES "include/irrlicht"
47         )
48
49         find_library(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht
50                 PATHS
51                 /usr/local/lib
52                 /usr/lib
53                 /system/develop/lib # Haiku
54         )
55 endif()
56
57
58 # On Windows, find the DLL for installation
59 if(WIN32)
60         # If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG
61         if(NOT VCPKG_APPLOCAL_DEPS)
62                 if(MSVC)
63                         set(IRRLICHT_COMPILER "VisualStudio")
64                 else()
65                         set(IRRLICHT_COMPILER "gcc")
66                 endif()
67                 find_file(IRRLICHT_DLL NAMES Irrlicht.dll
68                         PATHS
69                         "${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}"
70                         DOC "Path of the Irrlicht dll (for installation)"
71                 )
72         endif()
73 endif(WIN32)
74
75 include(FindPackageHandleStandardArgs)
76 find_package_handle_standard_args(Irrlicht DEFAULT_MSG IRRLICHT_LIBRARY IRRLICHT_INCLUDE_DIR)
77