X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=CMakeLists.txt;h=89f962be40d75bb9af7488cec5951d456c2b7c85;hb=ecb30e3d96a98e032aa05f46732bb7bed14a313c;hp=ba1e4f519c3b5fdd2c10754db74c22f3ff8a9ecd;hpb=bfba19d67af8b38fcd37a154da5ca5d308b32cf8;p=irrlicht.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ba1e4f5..89f962b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,28 @@ cmake_minimum_required(VERSION 3.5) -project(Irrlicht) +project(Irrlicht + VERSION 1.9.0 + LANGUAGES CXX +) -set(IRRLICHT_VERSION_MAJOR 1) -set(IRRLICHT_VERSION_MINOR 9) -set(IRRLICHT_VERSION_RELEASE 0) +message(STATUS "*** Building IrrlichtMt ${PROJECT_VERSION} ***") -set(VERSION "${IRRLICHT_VERSION_MAJOR}.${IRRLICHT_VERSION_MINOR}.${IRRLICHT_VERSION_RELEASE}") -message(STATUS "*** Building Irrlicht ${VERSION} ***") +include(GNUInstallDirs) -if(APPLE) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/OSX) +if(ANDROID) + set(sysname Android) +elseif(APPLE) + set(sysname OSX) +elseif(MSVC) + set(sysname Win32-VisualStudio) elseif(WIN32) - # good enough - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/Win32-gcc) + set(sysname Win32-gcc) else() - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/Linux) + set(sysname Linux) endif() +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_LIBRARY_OUTPUT_DIRECTORY}) +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) @@ -26,3 +30,38 @@ endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") add_subdirectory(source/Irrlicht) + +option(BUILD_EXAMPLES "Build example applications" FALSE) +if(BUILD_EXAMPLES) + add_subdirectory(examples) +endif() + +# Installation of headers. +install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/irrlichtmt" +) + +# Installation of CMake target and configuration files. +install(EXPORT IrrlichtMt-export + FILE IrrlichtMtTargets.cmake + NAMESPACE IrrlichtMt:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt" +) + +include(CMakePackageConfigHelpers) +configure_package_config_file("${PROJECT_SOURCE_DIR}/Config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/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" + COMPATIBILITY AnyNewerVersion +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IrrlichtMt" +)