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
|
################################################################################
#
# FindCompiz
#
# This module finds Compiz (https://launchpad.net/compiz). It uses the FindPkgConfig to
# locate Compiz and adds the Compiz CMake module path to the CMake module path.
# It also loads the CompizDefaults that sets all variables to compile Compiz
# modules.
#
# This module sets the following variables:
# COMPIZ_FOUND ... set to true if compiz and its CompizDefaults macro
# is found
#
# Variables set by the FindPkgConfig macro for compiz
# COMPIZ_CMAKE_MODULE_PATH ... the path containing all other
# compiz cmake modules
# COMPIZ_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
# COMPIZ_LDFLAGS ... all required linker flags
# COMPIZ_LDFLAGS_OTHER ... all other linker flags
# COMPIZ_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
# COMPIZ_CFLAGS ... all required cflags
# COMPIZ_CFLAGS_OTHER ... the other compiler flags
# COMPIZ_VERSION ... version of the module
# COMPIZ_PREFIX ... prefix-directory of the module
# COMPIZ_INCLUDEDIR ... include-dir of the module
# COMPIZ_LIBDIR ... lib-dir of the module
#
# If the _COMPIZ_INTERNAL variable is set to true, then this module will do
# nothing. This is required for the Compiz core package build system.
#
# Author: Dennis Kasprzyk <onestone@compiz.org>
#
################################################################################
if (NOT _COMPIZ_INTERNAL)
if (Compiz_FIND_REQUIRED)
set (_req REQUIRED)
endif ()
# look for pkg-config
find_package (PkgConfig ${_req})
if (PKG_CONFIG_FOUND)
# do we need to look for a specified version?
set (_comp_ver)
if (Compiz_FIND_VERSION)
if (Compiz_FIND_VERSION_EXACT)
set (_comp_ver "=${Compiz_FIND_VERSION}")
else ()
set (_comp_ver ">=${Compiz_FIND_VERSION}")
endif ()
endif ()
# add install prefix to pkgconfig search path if needed
string (REGEX REPLACE "([\\+\\(\\)\\^\\\$\\.\\-\\*\\?\\|])" "\\\\\\1" PKGCONFIG_REGEX ${CMAKE_INSTALL_PREFIX})
set (PKGCONFIG_REGEX ".*${PKGCONFIG_REGEX}/lib/pkgconfig:${PKGCONFIG_REGEX}/share/pkgconfig.*")
if (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
if (NOT "$ENV{PKG_CONFIG_PATH}" MATCHES "${PKGCONFIG_REGEX}")
if ("" STREQUAL "$ENV{PKG_CONFIG_PATH}")
set (ENV{PKG_CONFIG_PATH} "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig:${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
else ()
set (ENV{PKG_CONFIG_PATH}
"${CMAKE_INSTALL_PREFIX}/lib/pkgconfig:${CMAKE_INSTALL_PREFIX}/share/pkgconfig:$ENV{PKG_CONFIG_PATH}")
endif ()
endif ()
endif (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
# look for compiz
pkg_check_modules (COMPIZ ${_req} "compiz${_comp_ver}")
# COMPIZ_PREFIX is not set by default on all machines. The CMake docs
# seem to vagely suggest this is normal in some cases for
# pkg_check_modules.
if (NOT COMPIZ_PREFIX)
set (COMPIZ_PREFIX ${CMAKE_INSTALL_PREFIX})
endif ()
# is the CompizDefaults module installed?
find_path(_compiz_def_macro CompizDefaults.cmake ${COMPIZ_PREFIX}/share/compiz/cmake)
if (COMPIZ_FOUND AND _compiz_def_macro)
# everything found. Set module path and include defaults module
set (COMPIZ_CMAKE_MODULE_PATH ${COMPIZ_PREFIX}/share/compiz/cmake)
set (CMAKE_MODULE_PATH ${COMPIZ_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH})
include (CompizDefaults)
else ()
set (COMPIZ_FOUND 0)
endif ()
if (Compiz_FIND_REQUIRED AND NOT COMPIZ_FOUND)
message (FATAL_ERROR "Unable to find Compiz ${_comp_ver}")
endif ()
endif ()
endif ()
|