Merge pull request #4 from mathstuf/create-cmake-config-file cmake: install a proper config file I didn't test it yet myself, but I trust it works.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 44d9884..ea4545a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,10 +54,22 @@ IF(CxxTest_FOUND)
ENDIF(BUILD_TESTS)
ENDIF(CxxTest_FOUND)
-IF(NOT DEFINED FTGL_CMAKE_FINDER_INSTALL_DIR)
- SET(FTGL_CMAKE_FINDER_INSTALL_DIR "share/cmake-2.8/Modules")
-ENDIF( NOT DEFINED FTGL_CMAKE_FINDER_INSTALL_DIR)
+configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/FTGLConfig.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/FTGLConfig.cmake"
+ @ONLY)
+configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/FTGLConfig-install.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FTGLConfig.cmake"
+ @ONLY)
-INSTALL(FILES ${PROJECT_SOURCE_DIR}/cmake/FindFTGL.cmake DESTINATION
- ${CMAKE_INSTALL_PREFIX}/${FTGL_CMAKE_FINDER_INSTALL_DIR})
+if (WIN32)
+ set(cmakedir cmake)
+else ()
+ set(cmakedir lib/cmake/FTGL)
+endif ()
+install(EXPORT FTGL-targets DESTINATION "${cmakedir}")
+install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FTGLConfig.cmake"
+ DESTINATION "${cmakedir}")
diff --git a/FTGLConfig-install.cmake.in b/FTGLConfig-install.cmake.in
new file mode 100644
index 0000000..dc1775e
--- /dev/null
+++ b/FTGLConfig-install.cmake.in
@@ -0,0 +1,7 @@
+include("${CMAKE_CURRENT_LIST_DIR}/FTGL-targets.cmake")
+
+set(FTGL_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include")
+set(FTGL_LIBRARY ftgl)
+
+set(FTGL_INCLUDE_DIRS ${FTGL_SOURCE_DIR})
+set(FTGL_LIBRARIES ${FTGL_LIBRARY})
diff --git a/FTGLConfig.cmake.in b/FTGLConfig.cmake.in
new file mode 100644
index 0000000..b14c4a3
--- /dev/null
+++ b/FTGLConfig.cmake.in
@@ -0,0 +1,8 @@
+include("${CMAKE_CURRENT_LIST_DIR}/FTGL-targets.cmake")
+
+set(FTGL_INCLUDE_DIR
+ "@FTGL_SOURCE_DIR@/src")
+set(FTGL_LIBRARY ftgl)
+
+set(FTGL_INCLUDE_DIRS ${FTGL_SOURCE_DIR})
+set(FTGL_LIBRARIES ${FTGL_LIBRARY})
diff --git a/cmake/FindFTGL.cmake b/cmake/FindFTGL.cmake
deleted file mode 100644
index edfa4a7..0000000
--- a/cmake/FindFTGL.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-# - Locate FTGL library
-# This module defines
-# FTGL_LIBRARIES, the library to link against
-# FTGL_FOUND, if false, do not try to link to FTGL
-# FTGL_INCLUDE_DIRS, where to find headers.
-#
-# $FTGL_DIR is an environment variable that points to the main ftgl directory.
-
-#=============================================================================
-# Copyright 2011 Richard Ulrich.
-#
-# 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.
-#=============================================================================
-
-# Created by Richard Ulrich.
-
-FIND_PATH(FTGL_INCLUDE_DIR FTGL/ftgl.h
- HINTS
- $ENV{FTGL_DIR}
- PATH_SUFFIXES include src
- PATHS
- /usr/include
- /usr/local/include
- /sw/include
- /opt/local/include
- /usr/freeware/include
-)
-
-FIND_LIBRARY(FTGL_LIBRARY
- NAMES ftgl libftgl ftgl_static
- HINTS
- $ENV{FTGL_DIR}
- PATH_SUFFIXES lib64 lib
- PATHS
- /usr/lib
- /usr/local/lib
- /sw
- /usr/freeware
-)
-
-# set the user variables
-IF(FTGL_INCLUDE_DIR)
- SET(FTGL_INCLUDE_DIRS "${FTGL_INCLUDE_DIR}")
-ENDIF()
-SET(FTGL_LIBRARIES "${FTGL_LIBRARY}")
-
-# handle the QUIETLY and REQUIRED arguments and set FTGL_FOUND to TRUE if
-# all listed variables are TRUE
-INCLUDE("FindPackageHandleStandardArgs")
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(FTGL DEFAULT_MSG FTGL_LIBRARY FTGL_INCLUDE_DIR)
-
-MARK_AS_ADVANCED(FTGL_LIBRARY FTGL_INCLUDE_DIR)
-
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9298dfe..123d470 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -135,6 +135,7 @@ SET_TARGET_PROPERTIES(
)
INSTALL(TARGETS ftgl
+ EXPORT FTGL-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib