Merge topic 'find-module-targets'
1d8de85d Help: Add notes for topic 'find-module-targets' 144b255b FindGLUT.cmake: Add imported targets and documentation c90c7fca FindX11: fix documentation formatting error 3d82a223 FindGLEW: Add imported target and documentation 5a7ff421 FindZLIB: Add imported target and documentation
This commit is contained in:
commit
bb2b374dc1
8
Help/release/dev/find-module-targets.rst
Normal file
8
Help/release/dev/find-module-targets.rst
Normal file
@ -0,0 +1,8 @@
|
||||
find-module-targets
|
||||
-------------------
|
||||
|
||||
* The :module:`FindGLUT` module now provides imported targets.
|
||||
|
||||
* The :module:`FindGLEW` module now provides imported targets.
|
||||
|
||||
* The :module:`FindZLIB` module now provides imported targets.
|
@ -4,6 +4,15 @@
|
||||
#
|
||||
# Find the OpenGL Extension Wrangler Library (GLEW)
|
||||
#
|
||||
# IMPORTED Targets
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines the :prop_tgt:`IMPORTED` target ``GLEW::GLEW``,
|
||||
# if GLEW has been found.
|
||||
#
|
||||
# Result Variables
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines the following variables:
|
||||
#
|
||||
# ::
|
||||
@ -35,4 +44,11 @@ include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
find_package_handle_standard_args(GLEW
|
||||
REQUIRED_VARS GLEW_INCLUDE_DIR GLEW_LIBRARY)
|
||||
|
||||
if(GLEW_FOUND AND NOT TARGET GLEW::GLEW)
|
||||
add_library(GLEW::GLEW UNKNOWN IMPORTED)
|
||||
set_target_properties(GLEW::GLEW PROPERTIES
|
||||
IMPORTED_LOCATION "${GLEW_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY)
|
||||
|
@ -2,7 +2,20 @@
|
||||
# FindGLUT
|
||||
# --------
|
||||
#
|
||||
# try to find glut library and include files
|
||||
# try to find glut library and include files.
|
||||
#
|
||||
# IMPORTED Targets
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines the :prop_tgt:`IMPORTED` targets:
|
||||
#
|
||||
# ``GLUT::GLUT``
|
||||
# Defined if the system has GLUT.
|
||||
#
|
||||
# Result Variables
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module sets the following variables:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
@ -42,13 +55,21 @@ if (WIN32)
|
||||
else ()
|
||||
|
||||
if (APPLE)
|
||||
# These values for Apple could probably do with improvement.
|
||||
find_path( GLUT_INCLUDE_DIR glut.h
|
||||
/System/Library/Frameworks/GLUT.framework/Versions/A/Headers
|
||||
${OPENGL_LIBRARY_DIR}
|
||||
)
|
||||
set(GLUT_glut_LIBRARY "-framework GLUT" CACHE STRING "GLUT library for OSX")
|
||||
set(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
|
||||
find_path(GLUT_INCLUDE_DIR glut.h ${OPENGL_LIBRARY_DIR})
|
||||
find_library(GLUT_glut_LIBRARY GLUT DOC "GLUT library for OSX")
|
||||
find_library(GLUT_cocoa_LIBRARY Cocoa DOC "Cocoa framework for OSX")
|
||||
|
||||
if(GLUT_cocoa_LIBRARY AND NOT TARGET GLUT::Cocoa)
|
||||
add_library(GLUT::Cocoa UNKNOWN IMPORTED)
|
||||
# Cocoa should always be a Framework, but we check to make sure.
|
||||
if(GLUT_cocoa_LIBRARY MATCHES "/([^/]+)\\.framework$")
|
||||
set_target_properties(GLUT::Cocoa PROPERTIES
|
||||
IMPORTED_LOCATION "${GLUT_cocoa_LIBRARY}/${CMAKE_MATCH_1}")
|
||||
else()
|
||||
set_target_properties(GLUT::Cocoa PROPERTIES
|
||||
IMPORTED_LOCATION "${GLUT_cocoa_LIBRARY}")
|
||||
endif()
|
||||
endif()
|
||||
else ()
|
||||
|
||||
if (BEOS)
|
||||
@ -66,6 +87,18 @@ else ()
|
||||
/usr/openwin/lib
|
||||
)
|
||||
|
||||
if(GLUT_Xi_LIBRARY AND NOT TARGET GLUT::Xi)
|
||||
add_library(GLUT::Xi UNKNOWN IMPORTED)
|
||||
set_target_properties(GLUT::Xi PROPERTIES
|
||||
IMPORTED_LOCATION "${GLUT_Xi_LIBRARY}")
|
||||
endif()
|
||||
|
||||
if(GLUT_Xmu_LIBRARY AND NOT TARGET GLUT::Xmu)
|
||||
add_library(GLUT::Xmu UNKNOWN IMPORTED)
|
||||
set_target_properties(GLUT::Xmu PROPERTIES
|
||||
IMPORTED_LOCATION "${GLUT_Xmu_LIBRARY}")
|
||||
endif()
|
||||
|
||||
endif ()
|
||||
|
||||
find_path( GLUT_INCLUDE_DIR GL/glut.h
|
||||
@ -102,6 +135,34 @@ if (GLUT_FOUND)
|
||||
${GLUT_cocoa_LIBRARY}
|
||||
)
|
||||
|
||||
if(NOT TARGET GLUT::GLUT)
|
||||
add_library(GLUT::GLUT UNKNOWN IMPORTED)
|
||||
set_target_properties(GLUT::GLUT PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GLUT_INCLUDE_DIR}")
|
||||
if(GLUT_glut_LIBRARY MATCHES "/([^/]+)\\.framework$")
|
||||
set_target_properties(GLUT::GLUT PROPERTIES
|
||||
IMPORTED_LOCATION "${GLUT_glut_LIBRARY}/${CMAKE_MATCH_1}")
|
||||
else()
|
||||
set_target_properties(GLUT::GLUT PROPERTIES
|
||||
IMPORTED_LOCATION "${GLUT_glut_LIBRARY}")
|
||||
endif()
|
||||
|
||||
if(TARGET GLUT::Xmu)
|
||||
set_property(TARGET GLUT::GLUT APPEND
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Xmu)
|
||||
endif()
|
||||
|
||||
if(TARGET GLUT::Xi)
|
||||
set_property(TARGET GLUT::GLUT APPEND
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Xi)
|
||||
endif()
|
||||
|
||||
if(TARGET GLUT::Cocoa)
|
||||
set_property(TARGET GLUT::GLUT APPEND
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES GLUT::Cocoa)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#The following deprecated settings are for backwards compatibility with CMake1.4
|
||||
set (GLUT_LIBRARY ${GLUT_LIBRARIES})
|
||||
set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Find X11 installation
|
||||
#
|
||||
# Try to find X11 on UNIX systems. The following values are defined
|
||||
# Try to find X11 on UNIX systems. The following values are defined
|
||||
#
|
||||
# ::
|
||||
#
|
||||
@ -12,47 +12,44 @@
|
||||
# X11_INCLUDE_DIR - include directories to use X11
|
||||
# X11_LIBRARIES - link against these to use X11
|
||||
#
|
||||
#
|
||||
#
|
||||
# and also the following more fine grained variables: Include paths:
|
||||
# X11_ICE_INCLUDE_PATH, X11_ICE_LIB, X11_ICE_FOUND
|
||||
# and also the following more fine grained variables:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# X11_SM_INCLUDE_PATH, X11_SM_LIB, X11_SM_FOUND
|
||||
# X11_X11_INCLUDE_PATH, X11_X11_LIB
|
||||
# X11_Xaccessrules_INCLUDE_PATH, X11_Xaccess_FOUND
|
||||
# X11_Xaccessstr_INCLUDE_PATH, X11_Xaccess_FOUND
|
||||
# X11_Xau_INCLUDE_PATH, X11_Xau_LIB, X11_Xau_FOUND
|
||||
# X11_Xcomposite_INCLUDE_PATH, X11_Xcomposite_LIB, X11_Xcomposite_FOUND
|
||||
# X11_Xcursor_INCLUDE_PATH, X11_Xcursor_LIB, X11_Xcursor_FOUND
|
||||
# X11_Xdamage_INCLUDE_PATH, X11_Xdamage_LIB, X11_Xdamage_FOUND
|
||||
# X11_Xdmcp_INCLUDE_PATH, X11_Xdmcp_LIB, X11_Xdmcp_FOUND
|
||||
# X11_Xext_LIB, X11_Xext_FOUND
|
||||
# X11_dpms_INCLUDE_PATH, (in X11_Xext_LIB), X11_dpms_FOUND
|
||||
# X11_XShm_INCLUDE_PATH, (in X11_Xext_LIB), X11_XShm_FOUND
|
||||
# X11_Xshape_INCLUDE_PATH, (in X11_Xext_LIB), X11_Xshape_FOUND
|
||||
# X11_xf86misc_INCLUDE_PATH, X11_Xxf86misc_LIB, X11_xf86misc_FOUND
|
||||
# X11_xf86vmode_INCLUDE_PATH, X11_Xxf86vm_LIB X11_xf86vmode_FOUND
|
||||
# X11_Xfixes_INCLUDE_PATH, X11_Xfixes_LIB, X11_Xfixes_FOUND
|
||||
# X11_Xft_INCLUDE_PATH, X11_Xft_LIB, X11_Xft_FOUND
|
||||
# X11_Xi_INCLUDE_PATH, X11_Xi_LIB, X11_Xi_FOUND
|
||||
# X11_Xinerama_INCLUDE_PATH, X11_Xinerama_LIB, X11_Xinerama_FOUND
|
||||
# X11_Xinput_INCLUDE_PATH, X11_Xinput_LIB, X11_Xinput_FOUND
|
||||
# X11_Xkb_INCLUDE_PATH, X11_Xkb_FOUND
|
||||
# X11_Xkblib_INCLUDE_PATH, X11_Xkb_FOUND
|
||||
# X11_Xkbfile_INCLUDE_PATH, X11_Xkbfile_LIB, X11_Xkbfile_FOUND
|
||||
# X11_Xmu_INCLUDE_PATH, X11_Xmu_LIB, X11_Xmu_FOUND
|
||||
# X11_Xpm_INCLUDE_PATH, X11_Xpm_LIB, X11_Xpm_FOUND
|
||||
# X11_XTest_INCLUDE_PATH, X11_XTest_LIB, X11_XTest_FOUND
|
||||
# X11_Xrandr_INCLUDE_PATH, X11_Xrandr_LIB, X11_Xrandr_FOUND
|
||||
# X11_Xrender_INCLUDE_PATH, X11_Xrender_LIB, X11_Xrender_FOUND
|
||||
# X11_Xscreensaver_INCLUDE_PATH, X11_Xscreensaver_LIB, X11_Xscreensaver_FOUND
|
||||
# X11_Xt_INCLUDE_PATH, X11_Xt_LIB, X11_Xt_FOUND
|
||||
# X11_Xutil_INCLUDE_PATH, X11_Xutil_FOUND
|
||||
# X11_Xv_INCLUDE_PATH, X11_Xv_LIB, X11_Xv_FOUND
|
||||
# X11_XSync_INCLUDE_PATH, (in X11_Xext_LIB), X11_XSync_FOUND
|
||||
|
||||
# X11_ICE_INCLUDE_PATH, X11_ICE_LIB, X11_ICE_FOUND
|
||||
# X11_SM_INCLUDE_PATH, X11_SM_LIB, X11_SM_FOUND
|
||||
# X11_X11_INCLUDE_PATH, X11_X11_LIB
|
||||
# X11_Xaccessrules_INCLUDE_PATH, X11_Xaccess_FOUND
|
||||
# X11_Xaccessstr_INCLUDE_PATH, X11_Xaccess_FOUND
|
||||
# X11_Xau_INCLUDE_PATH, X11_Xau_LIB, X11_Xau_FOUND
|
||||
# X11_Xcomposite_INCLUDE_PATH, X11_Xcomposite_LIB, X11_Xcomposite_FOUND
|
||||
# X11_Xcursor_INCLUDE_PATH, X11_Xcursor_LIB, X11_Xcursor_FOUND
|
||||
# X11_Xdamage_INCLUDE_PATH, X11_Xdamage_LIB, X11_Xdamage_FOUND
|
||||
# X11_Xdmcp_INCLUDE_PATH, X11_Xdmcp_LIB, X11_Xdmcp_FOUND
|
||||
# X11_Xext_LIB, X11_Xext_FOUND
|
||||
# X11_dpms_INCLUDE_PATH, (in X11_Xext_LIB), X11_dpms_FOUND
|
||||
# X11_XShm_INCLUDE_PATH, (in X11_Xext_LIB), X11_XShm_FOUND
|
||||
# X11_Xshape_INCLUDE_PATH, (in X11_Xext_LIB), X11_Xshape_FOUND
|
||||
# X11_xf86misc_INCLUDE_PATH, X11_Xxf86misc_LIB, X11_xf86misc_FOUND
|
||||
# X11_xf86vmode_INCLUDE_PATH, X11_Xxf86vm_LIB X11_xf86vmode_FOUND
|
||||
# X11_Xfixes_INCLUDE_PATH, X11_Xfixes_LIB, X11_Xfixes_FOUND
|
||||
# X11_Xft_INCLUDE_PATH, X11_Xft_LIB, X11_Xft_FOUND
|
||||
# X11_Xi_INCLUDE_PATH, X11_Xi_LIB, X11_Xi_FOUND
|
||||
# X11_Xinerama_INCLUDE_PATH, X11_Xinerama_LIB, X11_Xinerama_FOUND
|
||||
# X11_Xinput_INCLUDE_PATH, X11_Xinput_LIB, X11_Xinput_FOUND
|
||||
# X11_Xkb_INCLUDE_PATH, X11_Xkb_FOUND
|
||||
# X11_Xkblib_INCLUDE_PATH, X11_Xkb_FOUND
|
||||
# X11_Xkbfile_INCLUDE_PATH, X11_Xkbfile_LIB, X11_Xkbfile_FOUND
|
||||
# X11_Xmu_INCLUDE_PATH, X11_Xmu_LIB, X11_Xmu_FOUND
|
||||
# X11_Xpm_INCLUDE_PATH, X11_Xpm_LIB, X11_Xpm_FOUND
|
||||
# X11_XTest_INCLUDE_PATH, X11_XTest_LIB, X11_XTest_FOUND
|
||||
# X11_Xrandr_INCLUDE_PATH, X11_Xrandr_LIB, X11_Xrandr_FOUND
|
||||
# X11_Xrender_INCLUDE_PATH, X11_Xrender_LIB, X11_Xrender_FOUND
|
||||
# X11_Xscreensaver_INCLUDE_PATH, X11_Xscreensaver_LIB, X11_Xscreensaver_FOUND
|
||||
# X11_Xt_INCLUDE_PATH, X11_Xt_LIB, X11_Xt_FOUND
|
||||
# X11_Xutil_INCLUDE_PATH, X11_Xutil_FOUND
|
||||
# X11_Xv_INCLUDE_PATH, X11_Xv_LIB, X11_Xv_FOUND
|
||||
# X11_XSync_INCLUDE_PATH, (in X11_Xext_LIB), X11_XSync_FOUND
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2001-2009 Kitware, Inc.
|
||||
|
@ -2,9 +2,18 @@
|
||||
# FindZLIB
|
||||
# --------
|
||||
#
|
||||
# Find zlib
|
||||
# Find the native ZLIB includes and library.
|
||||
#
|
||||
# Find the native ZLIB includes and library. Once done this will define
|
||||
# IMPORTED Targets
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines :prop_tgt:`IMPORTED` target ``ZLIB::ZLIB``, if
|
||||
# ZLIB has been found.
|
||||
#
|
||||
# Result Variables
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines the following variables:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
@ -12,8 +21,6 @@
|
||||
# ZLIB_LIBRARIES - List of libraries when using zlib.
|
||||
# ZLIB_FOUND - True if zlib found.
|
||||
#
|
||||
#
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
|
||||
@ -22,7 +29,8 @@
|
||||
# ZLIB_VERSION_PATCH - The patch version of zlib
|
||||
# ZLIB_VERSION_TWEAK - The tweak version of zlib
|
||||
#
|
||||
#
|
||||
# Backward Compatibility
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The following variable are provided for backward compatibility
|
||||
#
|
||||
@ -32,9 +40,10 @@
|
||||
# ZLIB_MINOR_VERSION - The minor version of zlib
|
||||
# ZLIB_PATCH_VERSION - The patch version of zlib
|
||||
#
|
||||
# Hints
|
||||
# ^^^^^
|
||||
#
|
||||
#
|
||||
# An includer may set ZLIB_ROOT to a zlib installation root to tell this
|
||||
# A user may set ``ZLIB_ROOT`` to a zlib installation root to tell this
|
||||
# module where to look.
|
||||
|
||||
#=============================================================================
|
||||
@ -104,5 +113,11 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_D
|
||||
if(ZLIB_FOUND)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(NOT TARGET ZLIB::ZLIB)
|
||||
add_library(ZLIB::ZLIB UNKNOWN IMPORTED)
|
||||
set_target_properties(ZLIB::ZLIB PROPERTIES
|
||||
IMPORTED_LOCATION "${ZLIB_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIRS}")
|
||||
endif()
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user