committed by
Wayne Stambaugh
1 changed files with 135 additions and 27 deletions
@ -1,40 +1,148 @@ |
|||||
# - Find Pixman |
|
||||
# Find the Pixman libraries |
|
||||
|
# - Try to find the PIXMAN library |
||||
|
# Once done this will define |
||||
# |
# |
||||
# This module defines the following variables: |
|
||||
# PIXMAN_FOUND - true if PIXMAN_INCLUDE_DIR & PIXMAN_LIBRARY are found |
|
||||
# PIXMAN_LIBRARIES - Set when PIXMAN_LIBRARY is found |
|
||||
# PIXMAN_INCLUDE_DIRS - Set when PIXMAN_INCLUDE_DIR is found |
|
||||
# |
|
||||
# PIXMAN_INCLUDE_DIR - where to find pixman.h, etc. |
|
||||
# PIXMAN_LIBRARY - the Pixman library |
|
||||
|
# PIXMAN_ROOT_DIR - Set this variable to the root installation of PIXMAN |
||||
# |
# |
||||
|
# Read-Only variables: |
||||
|
# PIXMAN_FOUND - system has the PIXMAN library |
||||
|
# PIXMAN_INCLUDE_DIR - the PIXMAN include directory |
||||
|
# PIXMAN_LIBRARIES - The libraries needed to use PIXMAN |
||||
|
# PIXMAN_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8) |
||||
|
|
||||
#============================================================================= |
#============================================================================= |
||||
# Copyright 2013 Marc-Andre Moreau <marcandre.moreau@gmail.com> |
|
||||
# |
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||
# you may not use this file except in compliance with the License. |
|
||||
# You may obtain a copy of the License at |
|
||||
|
# Copyright 2012 Dmitry Baryshnikov <polimax at mail dot ru> |
||||
|
# Copyright 2017 Simon Richter <Simon.Richter at hogyros dot de> |
||||
# |
# |
||||
# http://www.apache.org/licenses/LICENSE-2.0 |
|
||||
|
# Distributed under the OSI-approved BSD License (the "License"); |
||||
|
# see accompanying file Copyright.txt for details. |
||||
# |
# |
||||
# Unless required by applicable law or agreed to in writing, software |
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, |
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||
# See the License for the specific language governing permissions and |
|
||||
# limitations under the License. |
|
||||
|
# 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.) |
||||
|
|
||||
|
find_package(PkgConfig) |
||||
|
|
||||
|
if(PKG_CONFIG_FOUND) |
||||
|
pkg_check_modules(_PIXMAN pixman-1) |
||||
|
endif (PKG_CONFIG_FOUND) |
||||
|
|
||||
|
SET(_PIXMAN_ROOT_HINTS |
||||
|
$ENV{PIXMAN} |
||||
|
${PIXMAN_ROOT_DIR} |
||||
|
) |
||||
|
SET(_PIXMAN_ROOT_PATHS |
||||
|
$ENV{PIXMAN}/src |
||||
|
/usr |
||||
|
/usr/local |
||||
|
) |
||||
|
SET(_PIXMAN_ROOT_HINTS_AND_PATHS |
||||
|
HINTS ${_PIXMAN_ROOT_HINTS} |
||||
|
PATHS ${_PIXMAN_ROOT_PATHS} |
||||
|
) |
||||
|
|
||||
|
FIND_PATH(PIXMAN_INCLUDE_DIR |
||||
|
NAMES |
||||
|
pixman.h |
||||
|
HINTS |
||||
|
${_PIXMAN_INCLUDEDIR} |
||||
|
${_PIXMAN_ROOT_HINTS_AND_PATHS} |
||||
|
PATH_SUFFIXES |
||||
|
include |
||||
|
"include/pixman-1" |
||||
|
) |
||||
|
|
||||
|
IF(NOT PKGCONFIG_FOUND AND WIN32 AND NOT CYGWIN) |
||||
|
# MINGW should go here too |
||||
|
IF(MSVC) |
||||
|
# Implementation details: |
||||
|
# We are using the libraries located in the VC subdir instead of the parent directory eventhough : |
||||
|
FIND_LIBRARY(PIXMAN |
||||
|
NAMES |
||||
|
pixman-1 |
||||
|
${_PIXMAN_ROOT_HINTS_AND_PATHS} |
||||
|
PATH_SUFFIXES |
||||
|
"lib" |
||||
|
"VC" |
||||
|
"lib/VC" |
||||
|
) |
||||
|
|
||||
find_path(PIXMAN_INCLUDE_DIR NAMES pixman.h PATH_SUFFIXES pixman-1) |
|
||||
|
MARK_AS_ADVANCED(PIXMAN) |
||||
|
set( PIXMAN_LIBRARIES ${PIXMAN}) |
||||
|
ELSEIF(MINGW) |
||||
|
# same player, for MingW |
||||
|
FIND_LIBRARY(PIXMAN |
||||
|
NAMES |
||||
|
pixman-1 |
||||
|
${_PIXMAN_ROOT_HINTS_AND_PATHS} |
||||
|
PATH_SUFFIXES |
||||
|
"lib" |
||||
|
"lib/MinGW" |
||||
|
) |
||||
|
|
||||
find_library(PIXMAN_LIBRARY NAMES pixman-1) |
|
||||
|
MARK_AS_ADVANCED(PIXMAN) |
||||
|
set( PIXMAN_LIBRARIES ${PIXMAN}) |
||||
|
ELSE(MSVC) |
||||
|
# Not sure what to pick for -say- intel, let's use the toplevel ones and hope someone report issues: |
||||
|
FIND_LIBRARY(PIXMAN |
||||
|
NAMES |
||||
|
pixman-1 |
||||
|
HINTS |
||||
|
${_PIXMAN_LIBDIR} |
||||
|
${_PIXMAN_ROOT_HINTS_AND_PATHS} |
||||
|
PATH_SUFFIXES |
||||
|
lib |
||||
|
) |
||||
|
|
||||
find_package_handle_standard_args(pixman-1 DEFAULT_MSG PIXMAN_LIBRARY PIXMAN_INCLUDE_DIR) |
|
||||
|
MARK_AS_ADVANCED(PIXMAN) |
||||
|
set( PIXMAN_LIBRARIES ${PIXMAN} ) |
||||
|
ENDIF(MSVC) |
||||
|
ELSE() |
||||
|
|
||||
if(PIXMAN-1_FOUND) |
|
||||
set(PIXMAN_LIBRARIES ${PIXMAN_LIBRARY}) |
|
||||
set(PIXMAN_INCLUDE_DIRS ${PIXMAN_INCLUDE_DIR}) |
|
||||
|
FIND_LIBRARY(PIXMAN_LIBRARY |
||||
|
NAMES |
||||
|
pixman-1 |
||||
|
HINTS |
||||
|
${_PIXMAN_LIBDIR} |
||||
|
${_PIXMAN_ROOT_HINTS_AND_PATHS} |
||||
|
PATH_SUFFIXES |
||||
|
"lib" |
||||
|
"local/lib" |
||||
|
) |
||||
|
|
||||
|
MARK_AS_ADVANCED(PIXMAN_LIBRARY) |
||||
|
|
||||
|
# compat defines |
||||
|
SET(PIXMAN_LIBRARIES ${PIXMAN_LIBRARY}) |
||||
|
|
||||
|
ENDIF() |
||||
|
|
||||
|
#message( STATUS "Pixman_FIND_VERSION=${Pixman_FIND_VERSION}.") |
||||
|
#message( STATUS "PIXMAN_INCLUDE_DIR=${PIXMAN_INCLUDE_DIR}.") |
||||
|
|
||||
|
# Fetch version from pixman-version.h if a version was requested by find_package() |
||||
|
if(PIXMAN_INCLUDE_DIR AND Pixman_FIND_VERSION) |
||||
|
file(READ "${PIXMAN_INCLUDE_DIR}/pixman-version.h" _PIXMAN_VERSION_H_CONTENTS) |
||||
|
string(REGEX REPLACE "^(.*\n)?#define[ \t]+PIXMAN_VERSION_MAJOR[ \t]+([0-9]+).*" |
||||
|
"\\2" PIXMAN_VERSION_MAJOR ${_PIXMAN_VERSION_H_CONTENTS}) |
||||
|
string(REGEX REPLACE "^(.*\n)?#define[ \t]+PIXMAN_VERSION_MINOR[ \t]+([0-9]+).*" |
||||
|
"\\2" PIXMAN_VERSION_MINOR ${_PIXMAN_VERSION_H_CONTENTS}) |
||||
|
string(REGEX REPLACE "^(.*\n)?#define[ \t]+PIXMAN_VERSION_MICRO[ \t]+([0-9]+).*" |
||||
|
"\\2" PIXMAN_VERSION_MICRO ${_PIXMAN_VERSION_H_CONTENTS}) |
||||
|
set(PIXMAN_VERSION ${PIXMAN_VERSION_MAJOR}.${PIXMAN_VERSION_MINOR}.${PIXMAN_VERSION_MICRO} |
||||
|
CACHE INTERNAL "The version number for Pixman libraries") |
||||
endif() |
endif() |
||||
|
|
||||
mark_as_advanced(PIXMAN_INCLUDE_DIR PIXMAN_LIBRARY) |
|
||||
|
include(FindPackageHandleStandardArgs) |
||||
|
|
||||
|
find_package_handle_standard_args(Pixman |
||||
|
REQUIRED_VARS |
||||
|
PIXMAN_LIBRARIES |
||||
|
PIXMAN_INCLUDE_DIR |
||||
|
VERSION_VAR |
||||
|
PIXMAN_VERSION |
||||
|
) |
||||
|
|
||||
|
MARK_AS_ADVANCED(PIXMAN_INCLUDE_DIR PIXMAN_LIBRARIES) |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue