diff --git a/CMakeLists.txt b/CMakeLists.txt index 329b846a..54d6d0f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,26 +143,38 @@ include_directories("${PROJECT_SOURCE_DIR}/test/external") add_subdirectory(glm) add_subdirectory(test) -add_subdirectory(util) -install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}) +set(GLM_INSTALL_CONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm") +set(GLM_INCLUDE_DIRS ${CMAKE_INSTALL_FULL_INCLUDEDIR}) +install(DIRECTORY glm DESTINATION ${GLM_INCLUDE_DIRS}) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/glmVersion.cmake" + VERSION ${GLM_VERSION} + COMPATIBILITY AnyNewerVersion +) + +configure_file(cmake/glmConfig.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/glmConfig.cmake" + @ONLY +) + +install( + FILES + "${CMAKE_CURRENT_BINARY_DIR}/glmConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/glmVersion.cmake" + DESTINATION ${GLM_INSTALL_CONFIG_DIR} +) if (NOT CMAKE_VERSION VERSION_LESS "2.8.12") add_library(glm INTERFACE) target_include_directories(glm INTERFACE $ + $ ) install(TARGETS glm EXPORT glmTargets) - set(GLM_INSTALL_CONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm") - - include(CMakePackageConfigHelpers) - write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/glmVersion.cmake" - VERSION ${GLM_VERSION} - COMPATIBILITY AnyNewerVersion - ) - export( EXPORT glmTargets FILE "${CMAKE_CURRENT_BINARY_DIR}/glmTargets.cmake" @@ -171,11 +183,4 @@ if (NOT CMAKE_VERSION VERSION_LESS "2.8.12") EXPORT glmTargets FILE glmTargets.cmake DESTINATION ${GLM_INSTALL_CONFIG_DIR} ) - - install( - FILES - cmake/glmConfig.cmake - "${CMAKE_CURRENT_BINARY_DIR}/glmVersion.cmake" - DESTINATION ${GLM_INSTALL_CONFIG_DIR} - ) endif() diff --git a/cmake/glmConfig.cmake b/cmake/glmConfig.cmake deleted file mode 100644 index ea324ab6..00000000 --- a/cmake/glmConfig.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") diff --git a/cmake/glmConfig.cmake.in b/cmake/glmConfig.cmake.in new file mode 100644 index 00000000..677995e3 --- /dev/null +++ b/cmake/glmConfig.cmake.in @@ -0,0 +1,5 @@ +set_and_check(GLM_INCLUDE_DIRS "@GLM_INCLUDE_DIRS@") + +if (NOT CMAKE_VERSION VERSION_LESS "2.8.12") + include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") +endif() diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt deleted file mode 100644 index 3deeb15b..00000000 --- a/util/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/FindGLM.cmake - DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake) - diff --git a/util/FindGLM.cmake b/util/FindGLM.cmake deleted file mode 100644 index 73fdc0bd..00000000 --- a/util/FindGLM.cmake +++ /dev/null @@ -1,65 +0,0 @@ -# FindGLM - attempts to locate the glm matrix/vector library. -# -# This module defines the following variables (on success): -# GLM_INCLUDE_DIRS - where to find glm/glm.hpp -# GLM_FOUND - if the library was successfully located -# -# It is trying a few standard installation locations, but can be customized -# with the following variables: -# GLM_ROOT_DIR - root directory of a glm installation -# Headers are expected to be found in either: -# /glm/glm.hpp OR -# /include/glm/glm.hpp -# This variable can either be a cmake or environment -# variable. Note however that changing the value -# of the environment varible will NOT result in -# re-running the header search and therefore NOT -# adjust the variables set by this module. - -#============================================================================= -# Copyright 2012 Carsten Neumann -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -# default search dirs -SET(_glm_HEADER_SEARCH_DIRS - "/usr/include" - "/usr/local/include") - -# check environment variable -SET(_glm_ENV_ROOT_DIR "$ENV{GLM_ROOT_DIR}") - -IF(NOT GLM_ROOT_DIR AND _glm_ENV_ROOT_DIR) - SET(GLM_ROOT_DIR "${_glm_ENV_ROOT_DIR}") -ENDIF(NOT GLM_ROOT_DIR AND _glm_ENV_ROOT_DIR) - -# put user specified location at beginning of search -IF(GLM_ROOT_DIR) - SET(_glm_HEADER_SEARCH_DIRS "${GLM_ROOT_DIR}" - "${GLM_ROOT_DIR}/include" - ${_glm_HEADER_SEARCH_DIRS}) -ENDIF(GLM_ROOT_DIR) - -# locate header -FIND_PATH(GLM_INCLUDE_DIR "glm/glm.hpp" - PATHS ${_glm_HEADER_SEARCH_DIRS}) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLM DEFAULT_MSG - GLM_INCLUDE_DIR) - -IF(GLM_FOUND) - SET(GLM_INCLUDE_DIRS "${GLM_INCLUDE_DIR}") - - IF(NOT GLM_FIND_QUIETLY) - MESSAGE(STATUS "GLM_INCLUDE_DIR = ${GLM_INCLUDE_DIR}") - ENDIF(NOT GLM_FIND_QUIETLY) -ENDIF(GLM_FOUND)