]> git.lizzy.rs Git - irrlicht.git/blob - CMakeLists.txt
Fix Android build (again)
[irrlicht.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.5)
2
3 project(Irrlicht
4         VERSION 1.9.0
5         LANGUAGES CXX
6 )
7
8 message(STATUS "*** Building IrrlichtMt ${PROJECT_VERSION} ***")
9
10 if(ANDROID)
11         set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/Android)
12 elseif(APPLE)
13         set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/OSX)
14 elseif(WIN32)
15         # good enough
16         set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/Win32-gcc)
17 else()
18         set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/Linux)
19 endif()
20 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
21 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
22
23 if(NOT CMAKE_BUILD_TYPE)
24         set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Debug or Release" FORCE)
25 endif()
26
27 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
28 add_subdirectory(source/Irrlicht)
29
30 # Installation of library and headers.
31 include(GNUInstallDirs)
32 install(TARGETS ${INSTALL_TARGETS}
33         EXPORT IrrlichtMt-export
34         DESTINATION "${CMAKE_INSTALL_LIBDIR}"
35 )
36
37 install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/"
38         DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/irrlichtmt"
39 )
40
41 # Installation of CMake target and configuration files.
42 install(EXPORT IrrlichtMt-export
43         FILE IrrlichtMtTargets.cmake
44         NAMESPACE IrrlichtMt::
45         DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt"
46 )
47
48 include(CMakePackageConfigHelpers)
49 configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in"
50         "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfig.cmake"
51         INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt"
52         NO_SET_AND_CHECK_MACRO
53         NO_CHECK_REQUIRED_COMPONENTS_MACRO
54 )
55 write_basic_package_version_file(
56         "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfigVersion.cmake"
57         COMPATIBILITY AnyNewerVersion
58 )
59
60 install(FILES
61         "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfig.cmake"
62         "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfigVersion.cmake"
63         DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt"
64 )