X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=CMakeLists.txt;h=c289434f1fb258a6b6f4836c8bf0fba03e36b351;hb=5a1565072abeecf9fc5a3ffc450d5ab8ff660021;hp=58e706e79e260cb989eef31946c22d643be311ff;hpb=5411ec4f03df06f83f8f3d1634bcec0900a855b7;p=irrlicht.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 58e706e..c289434 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,23 @@ 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 ) message(STATUS "*** Building IrrlichtMt ${PROJECT_VERSION} ***") +include(GNUInstallDirs) + if(ANDROID) set(sysname Android) elseif(APPLE) @@ -18,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) @@ -34,13 +45,15 @@ if(BUILD_EXAMPLES) add_subdirectory(examples) endif() -# Installation of library and headers. -include(GNUInstallDirs) -install(TARGETS ${INSTALL_TARGETS} - EXPORT IrrlichtMt-export - DESTINATION "${CMAKE_INSTALL_LIBDIR}" +# 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" ) @@ -53,19 +66,19 @@ install(EXPORT IrrlichtMt-export ) include(CMakePackageConfigHelpers) -configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/IrrlichtMtConfig.cmake" +configure_package_config_file("${PROJECT_SOURCE_DIR}/Config.cmake.in" + "${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" )