]> git.lizzy.rs Git - irrlicht.git/blobdiff - CMakeLists.txt
Add back LightManager
[irrlicht.git] / CMakeLists.txt
index c9065b04f64ab36cd8ced0326ce68c16c260c55e..c289434f1fb258a6b6f4836c8bf0fba03e36b351 100644 (file)
@@ -1,7 +1,16 @@
 cmake_minimum_required(VERSION 3.5)
 
+# Set policies up to 3.9 since we want to enable the IPO option
+if(${CMAKE_VERSION} VERSION_LESS 3.9)
+       cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
+else()
+       cmake_policy(VERSION 3.9)
+endif()
+
+set(IRRLICHTMT_REVISION 11)
+
 project(Irrlicht
-       VERSION 1.9.0
+       VERSION 1.9.0.${IRRLICHTMT_REVISION}
        LANGUAGES CXX
 )
 
@@ -20,9 +29,9 @@ elseif(WIN32)
 else()
        set(sysname Linux)
 endif()
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${sysname})
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib/${sysname})
 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/${sysname})
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin/${sysname})
 
 if(NOT CMAKE_BUILD_TYPE)
        set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Debug or Release" FORCE)
@@ -36,6 +45,14 @@ if(BUILD_EXAMPLES)
        add_subdirectory(examples)
 endif()
 
+# Export a file that describes the targets that IrrlichtMt creates.
+# The file is placed in the location FILE points to, where CMake can easily
+# locate it by pointing CMAKE_PREFIX_PATH to this project root.
+export(EXPORT IrrlichtMt-export
+       FILE "${CMAKE_CURRENT_BINARY_DIR}/cmake/IrrlichtMtTargets.cmake"
+       NAMESPACE IrrlichtMt::
+)
+
 # Installation of headers.
 install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/"
        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/irrlichtmt"
@@ -50,18 +67,18 @@ install(EXPORT IrrlichtMt-export
 
 include(CMakePackageConfigHelpers)
 configure_package_config_file("${PROJECT_SOURCE_DIR}/Config.cmake.in"
-       "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfig.cmake"
+       "${CMAKE_CURRENT_BINARY_DIR}/cmake/IrrlichtMtConfig.cmake"
        INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt"
        NO_SET_AND_CHECK_MACRO
        NO_CHECK_REQUIRED_COMPONENTS_MACRO
 )
 write_basic_package_version_file(
-       "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfigVersion.cmake"
+       "${CMAKE_CURRENT_BINARY_DIR}/cmake/IrrlichtMtConfigVersion.cmake"
        COMPATIBILITY AnyNewerVersion
 )
 
 install(FILES
-       "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfig.cmake"
-       "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfigVersion.cmake"
+       "${CMAKE_CURRENT_BINARY_DIR}/cmake/IrrlichtMtConfig.cmake"
+       "${CMAKE_CURRENT_BINARY_DIR}/cmake/IrrlichtMtConfigVersion.cmake"
        DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt"
 )