File: libpoly.cmake

package info (click to toggle)
polybar 3.7.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,108 kB
  • sloc: cpp: 30,424; python: 3,750; sh: 284; makefile: 83
file content (106 lines) | stat: -rw-r--r-- 2,997 bytes parent folder | download | duplicates (3)
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
101
102
103
104
105
106
# Sets up options and dependencies for libpoly


# Automatically enable all optional dependencies that are available on the machine
checklib(ENABLE_ALSA "pkg-config" alsa)
checklib(ENABLE_CURL "pkg-config" libcurl)
checklib(ENABLE_I3 "binary" i3)
checklib(ENABLE_MPD "pkg-config" libmpdclient)
checklib(WITH_LIBNL "pkg-config" libnl-genl-3.0)
if(WITH_LIBNL)
  checklib(ENABLE_NETWORK "pkg-config" libnl-genl-3.0)
  set(WIRELESS_LIB "libnl")
else()
  checklib(ENABLE_NETWORK "cmake" Libiw)
  set(WIRELESS_LIB "wireless-tools")
endif()
checklib(ENABLE_PULSEAUDIO "pkg-config" libpulse)
checklib(WITH_XKB "pkg-config" xcb-xkb)
checklib(WITH_XRM "pkg-config" xcb-xrm)
checklib(WITH_XRANDR_MONITORS "pkg-config" "xcb-randr>=1.12")
checklib(WITH_XCURSOR "pkg-config" "xcb-cursor")

option(ENABLE_ALSA "Enable alsa support" ON)
option(ENABLE_CURL "Enable curl support" ON)
option(ENABLE_I3 "Enable i3 support" ON)
option(ENABLE_MPD "Enable mpd support" ON)
option(WITH_LIBNL "Use netlink interface for wireless" ON)
option(ENABLE_NETWORK "Enable network support" ON)
option(ENABLE_XKEYBOARD "Enable xkeyboard support" ON)
option(ENABLE_PULSEAUDIO "Enable PulseAudio support" ON)

option(WITH_XRANDR_MONITORS "xcb-randr monitor support" ON)
option(WITH_XKB "xcb-xkb support" ON)
option(WITH_XRM "xcb-xrm support" ON)
option(WITH_XCURSOR "xcb-cursor support" ON)

option(DEBUG_LOGGER "Trace logging" ON)

if(CMAKE_BUILD_TYPE_UPPER MATCHES DEBUG)
  option(DEBUG_LOGGER_VERBOSE "Trace logging (verbose)" OFF)
  option(DEBUG_HINTS "Debug clickable areas" OFF)
  option(DEBUG_WHITESPACE "Debug whitespace" OFF)
  option(DEBUG_FONTCONFIG "Debug fontconfig" OFF)
endif()

# Load all packages for enabled components

find_package(Threads REQUIRED)
find_package(CairoFC REQUIRED)

find_package(LibUV 1.3.0 REQUIRED)

if (ENABLE_ALSA)
  find_package(ALSA REQUIRED)
endif()

if (ENABLE_CURL)
  find_package(CURL REQUIRED)
endif()

if (ENABLE_MPD)
  find_package(LibMPDClient REQUIRED)
  set(MPD_VERSION ${LibMPDClient_VERSION})
endif()

if (ENABLE_NETWORK)
  if(WITH_LIBNL)
    find_package(LibNlGenl3 REQUIRED)
    set(NETWORK_LIBRARY_VERSION ${LibNlGenl3_VERSION})
  else()
    find_package(Libiw REQUIRED)
  endif()
endif()

if (ENABLE_PULSEAUDIO)
  find_package(LibPulse REQUIRED)
  set(PULSEAUDIO_VERSION ${LibPulse_VERSION})
endif()

# xcomposite is required
list(APPEND XORG_EXTENSIONS COMPOSITE)
if (WITH_XKB)
  list(APPEND XORG_EXTENSIONS XKB)
endif()
if (WITH_XCURSOR)
  list(APPEND XORG_EXTENSIONS CURSOR)
endif()
if (WITH_XRM)
  list(APPEND XORG_EXTENSIONS XRM)
endif()

# Set min xrandr version required
if (WITH_XRANDR_MONITORS)
  set(XRANDR_VERSION "1.12")
else ()
  set(XRANDR_VERSION "")
endif()

# Randr is required. Searches for randr only because we may do a version check
find_package(Xcb ${XRANDR_VERSION} REQUIRED COMPONENTS RANDR)
find_package(Xcb REQUIRED COMPONENTS ${XORG_EXTENSIONS})

# FreeBSD Support
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
  find_package(LibInotify REQUIRED)
endif()