-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cc #36
- Loading branch information
Showing
2 changed files
with
70 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,38 @@ | ||
# - Try to find libepoxy | ||
# Once done this will define | ||
#.rst: | ||
# Findepoxy | ||
# --------- | ||
# | ||
# epoxy_FOUND - System has libepoxy | ||
# epoxy_LIBRARY - The libepoxy library | ||
# epoxy_INCLUDE_DIR - The libepoxy include dir | ||
# epoxy_DEFINITIONS - Compiler switches required for using libepoxy | ||
# epoxy_HAS_GLX - Whether GLX support is available | ||
# Try to find libepoxy on a Unix system. | ||
# | ||
# This will define the following variables: | ||
# | ||
# ``epoxy_FOUND`` | ||
# True if (the requested version of) libepoxy is available | ||
# ``epoxy_VERSION`` | ||
# The version of libepoxy | ||
# ``epoxy_LIBRARIES`` | ||
# This should be passed to target_link_libraries() if the target is not | ||
# used for linking | ||
# ``epoxy_INCLUDE_DIRS`` | ||
# This should be passed to target_include_directories() if the target is not | ||
# used for linking | ||
# ``epoxy_DEFINITIONS`` | ||
# This should be passed to target_compile_options() if the target is not | ||
# used for linking | ||
# ``epoxy_HAS_GLX`` | ||
# True if GLX support is available | ||
# | ||
# If ``epoxy_FOUND`` is TRUE, it will also define the following imported target: | ||
# | ||
# ``epoxy::epoxy`` | ||
# The epoxy library | ||
# | ||
# In general we recommend using the imported target, as it is easier to use. | ||
# Bear in mind, however, that if the target is in the link interface of an | ||
# exported library, it must be made available by the package config file. | ||
|
||
# Copyright (c) 2014 Fredrik Höglund <[email protected]> | ||
# Copyright (c) 2020 Vlad Zahorodnii <[email protected]> | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions | ||
|
@@ -33,24 +58,48 @@ | |
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
# SUCH DAMAGE. | ||
|
||
if (NOT WIN32) | ||
find_package(PkgConfig) | ||
pkg_check_modules(PKG_epoxy QUIET epoxy) | ||
find_package(PkgConfig) | ||
pkg_check_modules(PKG_epoxy QUIET epoxy) | ||
|
||
set(epoxy_DEFINITIONS ${PKG_epoxy_CFLAGS}) | ||
set(epoxy_VERSION ${PKG_epoxy_VERSION}) | ||
set(epoxy_DEFINITIONS ${PKG_epoxy_CFLAGS}) | ||
|
||
find_path(epoxy_INCLUDE_DIR NAMES epoxy/gl.h HINTS ${PKG_epoxy_INCLUDEDIR} ${PKG_epoxy_INCLUDE_DIRS}) | ||
find_library(epoxy_LIBRARY NAMES epoxy HINTS ${PKG_epoxy_LIBDIR} ${PKG_epoxy_LIBRARY_DIRS}) | ||
find_file(epoxy_GLX_HEADER NAMES epoxy/glx.h HINTS ${epoxy_INCLUDE_DIR}) | ||
find_path(epoxy_INCLUDE_DIRS | ||
NAMES epoxy/gl.h | ||
HINTS ${PKG_epoxy_INCLUDEDIR} ${PKG_epoxy_INCLUDE_DIRS} | ||
) | ||
find_library(epoxy_LIBRARIES | ||
NAMES epoxy | ||
HINTS ${PKG_epoxy_LIBDIR} ${PKG_epoxy_LIBRARY_DIRS} | ||
) | ||
find_file(epoxy_GLX_HEADER NAMES epoxy/glx.h HINTS ${epoxy_INCLUDE_DIR}) | ||
|
||
if (epoxy_GLX_HEADER STREQUAL "epoxy_GLX_HEADER-NOTFOUND") | ||
if (epoxy_GLX_HEADER STREQUAL "epoxy_GLX_HEADER-NOTFOUND") | ||
set(epoxy_HAS_GLX FALSE CACHE BOOL "whether glx is available") | ||
else () | ||
else () | ||
set(epoxy_HAS_GLX TRUE CACHE BOOL "whether glx is available") | ||
endif() | ||
endif() | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(epoxy DEFAULT_MSG epoxy_LIBRARY epoxy_INCLUDE_DIR) | ||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(epoxy | ||
FOUND_VAR epoxy_FOUND | ||
REQUIRED_VARS epoxy_LIBRARIES epoxy_INCLUDE_DIRS | ||
VERSION_VAR epoxy_VERSION | ||
) | ||
|
||
mark_as_advanced(epoxy_INCLUDE_DIR epoxy_LIBRARY epoxy_HAS_GLX) | ||
if (epoxy_FOUND AND NOT TARGET epoxy::epoxy) | ||
add_library(epoxy::epoxy UNKNOWN IMPORTED) | ||
set_target_properties(epoxy::epoxy PROPERTIES | ||
IMPORTED_LOCATION "${epoxy_LIBRARIES}" | ||
INTERFACE_COMPILE_OPTIONS "${epoxy_DEFINITIONS}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${epoxy_INCLUDE_DIRS}" | ||
) | ||
endif() | ||
|
||
mark_as_advanced( | ||
epoxy_DEFINITIONS | ||
epoxy_HAS_GLX | ||
epoxy_INCLUDE_DIRS | ||
epoxy_LIBRARIES | ||
epoxy_VERSION | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters