Add glfwConfig module.

This module allows cmake projects to find glfw with FIND_PACKAGE.
This commit is contained in:
Lambert Clara 2013-05-09 15:47:44 +02:00
parent c310d1c47c
commit f6eccf145b
4 changed files with 38 additions and 1 deletions

View File

@ -387,6 +387,21 @@ configure_file(${GLFW_SOURCE_DIR}/src/config.h.in
install(DIRECTORY include/GL DESTINATION include install(DIRECTORY include/GL DESTINATION include
FILES_MATCHING PATTERN glfw3.h PATTERN glfw3native.h) FILES_MATCHING PATTERN glfw3.h PATTERN glfw3native.h)
#--------------------------------------------------------------------
# Create and install glfwConfig.cmake and glfwConfigVersion files
#--------------------------------------------------------------------
configure_file(${GLFW_SOURCE_DIR}/src/glfwConfig.cmake.in
${GLFW_BINARY_DIR}/src/glfwConfig.cmake @ONLY)
configure_file(${GLFW_SOURCE_DIR}/src/glfwConfigVersion.cmake.in
${GLFW_BINARY_DIR}/src/glfwConfigVersion.cmake @ONLY)
install(FILES ${GLFW_BINARY_DIR}/src/glfwConfig.cmake
${GLFW_BINARY_DIR}/src/glfwConfigVersion.cmake
DESTINATION lib${LIB_SUFFIX}/cmake/glfw)
# Install the export set for use with the install-tree
install(EXPORT glfwTargets DESTINATION lib${LIB_SUFFIX}/cmake/glfw)
#-------------------------------------------------------------------- #--------------------------------------------------------------------
# Create and install pkg-config file on supported platforms # Create and install pkg-config file on supported platforms
#-------------------------------------------------------------------- #--------------------------------------------------------------------

View File

@ -81,5 +81,7 @@ if (BUILD_SHARED_LIBS)
target_link_libraries(glfw LINK_INTERFACE_LIBRARIES) target_link_libraries(glfw LINK_INTERFACE_LIBRARIES)
endif() endif()
install(TARGETS glfw DESTINATION lib${LIB_SUFFIX} ) install(TARGETS glfw
EXPORT glfwTargets
DESTINATION lib${LIB_SUFFIX} )

10
src/glfwConfig.cmake.in Normal file
View File

@ -0,0 +1,10 @@
# - Config file for the glfw package
# It defines the following variables
# GLFW_INCLUDE_DIR, the path where GLFW headers are located
# GLFW_LIBRARY_DIR, folder in which the GLFW library is located
# GLFW_LIBRARY, library to link against to use GLFW
set(GLFW_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include")
set(GLFW_LIBRARY_DIR "@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@")
find_library(GLFW_LIBRARY "@GLFW_LIB_NAME@" HINTS ${GLFW_LIBRARY_DIR})

View File

@ -0,0 +1,10 @@
set(PACKAGE_VERSION "@GLFW_VERSION_FULL@")
if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL "@GLFW_VERSION_MAJOR@")
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL @GLFW_VERSION_MINOR@)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
else()
set(PACKAGE_VERSION_COMPATIBLE FALSE)
endif()