diff options
-rw-r--r-- | CMakeLists.txt | 165 | ||||
-rw-r--r-- | common/CMakeLists.txt | 15 | ||||
-rw-r--r-- | completions/zsh/CMakeLists.txt | 4 | ||||
-rw-r--r-- | sway/CMakeLists.txt | 96 | ||||
-rw-r--r-- | swaymsg/CMakeLists.txt | 23 |
5 files changed, 0 insertions, 303 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 9580e15d..00000000 --- a/CMakeLists.txt +++ /dev/null | |||
@@ -1,165 +0,0 @@ | |||
1 | cmake_minimum_required(VERSION 3.1.0) | ||
2 | |||
3 | project(sway C) | ||
4 | |||
5 | add_compile_options(-g) | ||
6 | set(CMAKE_C_STANDARD 99) | ||
7 | set(CMAKE_C_EXTENSIONS OFF) | ||
8 | set(CMAKE_POSITION_INDEPENDENT_CODE ON) | ||
9 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) | ||
10 | add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-result -Werror) | ||
11 | |||
12 | # Add Address Sanitiezed build type | ||
13 | set(CMAKE_C_FLAGS_ASAN | ||
14 | "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer" | ||
15 | CACHE STRING "Flags used by the C compiler during address sanitizer builds." | ||
16 | FORCE ) | ||
17 | mark_as_advanced( | ||
18 | CMAKE_C_FLAGS_ASAN | ||
19 | CMAKE_EXE_LINKER_FLAGS_DEBUG | ||
20 | CMAKE_SHARED_LINKER_FLAGS_DEBUG | ||
21 | ) | ||
22 | |||
23 | list(INSERT CMAKE_MODULE_PATH 0 | ||
24 | ${CMAKE_CURRENT_SOURCE_DIR}/CMake | ||
25 | ) | ||
26 | |||
27 | if (VERSION) | ||
28 | add_definitions(-DSWAY_VERSION=\"${VERSION}\") | ||
29 | else() | ||
30 | execute_process( | ||
31 | COMMAND git describe --always --tags | ||
32 | OUTPUT_VARIABLE GIT_COMMIT_HASH | ||
33 | OUTPUT_STRIP_TRAILING_WHITESPACE | ||
34 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | ||
35 | ) | ||
36 | execute_process( | ||
37 | COMMAND git rev-parse --abbrev-ref HEAD | ||
38 | OUTPUT_VARIABLE GIT_BRANCH | ||
39 | OUTPUT_STRIP_TRAILING_WHITESPACE | ||
40 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | ||
41 | ) | ||
42 | |||
43 | string(TIMESTAMP CURRENT_DATE "%Y-%m-%d" UTC) | ||
44 | add_definitions("-DSWAY_VERSION=\"${GIT_COMMIT_HASH} (${CURRENT_DATE}, branch \\\"${GIT_BRANCH}\\\")\"") | ||
45 | endif() | ||
46 | |||
47 | option(enable-swaylock "Enables the swaylock utility" YES) | ||
48 | option(enable-swaybg "Enables the wallpaper utility" YES) | ||
49 | option(enable-swaybar "Enables the swaybar utility" YES) | ||
50 | option(enable-swaygrab "Enables the swaygrab utility" YES) | ||
51 | option(enable-swaymsg "Enables the swaymsg utility" YES) | ||
52 | option(enable-gdk-pixbuf "Use Pixbuf to support more image formats" YES) | ||
53 | option(enable-tray "Enables the swaybar tray" YES) | ||
54 | option(zsh-completions "Zsh shell completions" NO) | ||
55 | option(default-wallpaper "Installs the default wallpaper" YES) | ||
56 | option(LD_LIBRARY_PATH "Configure sway's default LD_LIBRARY_PATH") | ||
57 | |||
58 | if (LD_LIBRARY_PATH) | ||
59 | add_definitions(-D_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}") | ||
60 | endif() | ||
61 | |||
62 | find_package(JsonC 0.12.1 REQUIRED) | ||
63 | find_package(PCRE REQUIRED) | ||
64 | find_package(Wlroots REQUIRED) | ||
65 | find_package(Wayland REQUIRED) | ||
66 | find_package(XKBCommon REQUIRED) | ||
67 | find_package(Cairo REQUIRED) | ||
68 | find_package(Pango REQUIRED) | ||
69 | find_package(GdkPixbuf) | ||
70 | find_package(PAM) | ||
71 | find_package(DBus 1.10) | ||
72 | |||
73 | find_package(LibInput REQUIRED) | ||
74 | |||
75 | if (CMAKE_SYSTEM_NAME STREQUAL Linux) | ||
76 | find_package(Libcap REQUIRED) | ||
77 | endif (CMAKE_SYSTEM_NAME STREQUAL Linux) | ||
78 | |||
79 | if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) | ||
80 | find_package(EpollShim REQUIRED) | ||
81 | endif (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) | ||
82 | |||
83 | include(FeatureSummary) | ||
84 | include(Manpage) | ||
85 | include(GNUInstallDirs) | ||
86 | |||
87 | if (enable-gdk-pixbuf) | ||
88 | if (GDK_PIXBUF_FOUND) | ||
89 | set(WITH_GDK_PIXBUF YES) | ||
90 | add_definitions(-DWITH_GDK_PIXBUF) | ||
91 | else() | ||
92 | message(WARNING "gdk-pixbuf required but not found, only png images supported.") | ||
93 | endif() | ||
94 | else() | ||
95 | message(STATUS "Building without gdk-pixbuf, only png images supported.") | ||
96 | endif() | ||
97 | |||
98 | if (enable-tray) | ||
99 | if (DBUS_FOUND) | ||
100 | set(ENABLE_TRAY TRUE) | ||
101 | add_definitions(-DENABLE_TRAY) | ||
102 | else() | ||
103 | message(WARNING "Tray required but DBus was not found. Tray will not be included") | ||
104 | endif() | ||
105 | else() | ||
106 | message(STATUS "Building without the tray.") | ||
107 | endif() | ||
108 | |||
109 | include_directories(include) | ||
110 | |||
111 | add_subdirectory(protocols) | ||
112 | add_subdirectory(common) | ||
113 | add_subdirectory(wayland) | ||
114 | |||
115 | add_subdirectory(sway) | ||
116 | if(enable-swaybg) | ||
117 | if(CAIRO_FOUND AND PANGO_FOUND) | ||
118 | # TODO WLR | ||
119 | #add_subdirectory(swaybg) | ||
120 | else() | ||
121 | message(WARNING "Not building swaybg - cairo, and pango are required.") | ||
122 | endif() | ||
123 | endif() | ||
124 | if(enable-swaymsg) | ||
125 | add_subdirectory(swaymsg) | ||
126 | endif() | ||
127 | if(enable-swaygrab) | ||
128 | # TODO WLR | ||
129 | #add_subdirectory(swaygrab) | ||
130 | endif() | ||
131 | if(enable-swaybar) | ||
132 | if(CAIRO_FOUND AND PANGO_FOUND) | ||
133 | # TODO WLR | ||
134 | #add_subdirectory(swaybar) | ||
135 | else() | ||
136 | message(WARNING "Not building swaybar - cairo, and pango are required.") | ||
137 | endif() | ||
138 | endif() | ||
139 | if(enable-swaylock) | ||
140 | if(CAIRO_FOUND AND PANGO_FOUND AND PAM_FOUND) | ||
141 | # TODO WLR | ||
142 | #add_subdirectory(swaylock) | ||
143 | else() | ||
144 | message(WARNING "Not building swaylock - cairo, pango, and PAM are required.") | ||
145 | endif() | ||
146 | endif() | ||
147 | if(zsh-completions) | ||
148 | add_subdirectory(completions/zsh) | ||
149 | endif() | ||
150 | install( | ||
151 | FILES ${CMAKE_CURRENT_SOURCE_DIR}/sway.desktop | ||
152 | DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/wayland-sessions | ||
153 | COMPONENT data | ||
154 | ) | ||
155 | |||
156 | if(default-wallpaper) | ||
157 | install( | ||
158 | DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/assets/ | ||
159 | DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/backgrounds/sway | ||
160 | COMPONENT data | ||
161 | FILES_MATCHING PATTERN "*Wallpaper*" | ||
162 | ) | ||
163 | endif() | ||
164 | |||
165 | feature_summary(WHAT ALL) | ||
diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt deleted file mode 100644 index 4fa71f3a..00000000 --- a/common/CMakeLists.txt +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | include_directories( | ||
2 | ${WLC_INCLUDE_DIRS} | ||
3 | ${XKBCOMMON_INCLUDE_DIRS} | ||
4 | ) | ||
5 | |||
6 | add_library(sway-common STATIC | ||
7 | ipc-client.c | ||
8 | list.c | ||
9 | log.c | ||
10 | util.c | ||
11 | readline.c | ||
12 | stringop.c | ||
13 | ) | ||
14 | |||
15 | target_link_libraries(sway-common m) | ||
diff --git a/completions/zsh/CMakeLists.txt b/completions/zsh/CMakeLists.txt deleted file mode 100644 index 62c85090..00000000 --- a/completions/zsh/CMakeLists.txt +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | install( | ||
2 | FILES _sway _swaymsg _swaygrab _swaylock | ||
3 | DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/zsh/site-functions/ | ||
4 | ) | ||
diff --git a/sway/CMakeLists.txt b/sway/CMakeLists.txt deleted file mode 100644 index 274fcc4a..00000000 --- a/sway/CMakeLists.txt +++ /dev/null | |||
@@ -1,96 +0,0 @@ | |||
1 | include_directories( | ||
2 | ${PROTOCOLS_INCLUDE_DIRS} | ||
3 | ${WLR_INCLUDE_DIRS} | ||
4 | ${PCRE_INCLUDE_DIRS} | ||
5 | ${JSONC_INCLUDE_DIRS} | ||
6 | ${XKBCOMMON_INCLUDE_DIRS} | ||
7 | ${LIBINPUT_INCLUDE_DIRS} | ||
8 | ${CAIRO_INCLUDE_DIRS} | ||
9 | ${PANGO_INCLUDE_DIRS} | ||
10 | ${WAYLAND_INCLUDE_DIR} | ||
11 | ) | ||
12 | |||
13 | add_executable(sway | ||
14 | desktop/output.c | ||
15 | desktop/xdg_shell_v6.c | ||
16 | |||
17 | commands.c | ||
18 | commands/exit.c | ||
19 | |||
20 | tree/container.c | ||
21 | tree/layout.c | ||
22 | tree/workspace.c | ||
23 | |||
24 | base64.c | ||
25 | main.c | ||
26 | server.c | ||
27 | ipc-json.c | ||
28 | ipc-server.c | ||
29 | ) | ||
30 | |||
31 | add_definitions( | ||
32 | -DSYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}" | ||
33 | ) | ||
34 | |||
35 | target_link_libraries(sway | ||
36 | sway-common | ||
37 | sway-protocols | ||
38 | sway-wayland | ||
39 | ${WLR_LIBRARIES} | ||
40 | ${XKBCOMMON_LIBRARIES} | ||
41 | ${PCRE_LIBRARIES} | ||
42 | ${JSONC_LIBRARIES} | ||
43 | ${WAYLAND_SERVER_LIBRARIES} | ||
44 | ${LIBINPUT_LIBRARIES} | ||
45 | ${PANGO_LIBRARIES} | ||
46 | ${JSONC_LIBRARIES} | ||
47 | m | ||
48 | ) | ||
49 | |||
50 | if (CMAKE_SYSTEM_NAME STREQUAL Linux) | ||
51 | target_link_libraries(sway cap) | ||
52 | endif (CMAKE_SYSTEM_NAME STREQUAL Linux) | ||
53 | |||
54 | install( | ||
55 | TARGETS sway | ||
56 | RUNTIME | ||
57 | DESTINATION bin | ||
58 | COMPONENT runtime | ||
59 | ) | ||
60 | |||
61 | add_custom_target(configs ALL) | ||
62 | |||
63 | function(add_config name source destination) | ||
64 | add_custom_command( | ||
65 | OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name} | ||
66 | COMMAND sed -r | ||
67 | 's?__PREFIX__?${CMAKE_INSTALL_PREFIX}?g\; s?__SYSCONFDIR__?${CMAKE_INSTALL_FULL_SYSCONFDIR}?g\; s?__DATADIR__?${CMAKE_INSTALL_FULL_DATADIR}?g' | ||
68 | ${PROJECT_SOURCE_DIR}/${source}.in > ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name} | ||
69 | DEPENDS ${PROJECT_SOURCE_DIR}/${source}.in | ||
70 | COMMENT "Generating config file ${source}" | ||
71 | ) | ||
72 | |||
73 | install( | ||
74 | FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name} | ||
75 | DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/${destination} | ||
76 | COMPONENT configuration | ||
77 | ) | ||
78 | |||
79 | add_custom_target(config-${name} DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}) | ||
80 | add_dependencies(configs config-${name}) | ||
81 | endfunction() | ||
82 | |||
83 | add_config(config config sway) | ||
84 | add_config(00-defaults security.d/00-defaults sway/security.d) | ||
85 | |||
86 | if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) | ||
87 | add_config(10-freebsd security.d/10-freebsd sway/security.d) | ||
88 | endif (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) | ||
89 | |||
90 | if (A2X_FOUND) | ||
91 | add_manpage(sway 1) | ||
92 | add_manpage(sway 5) | ||
93 | add_manpage(sway-input 5) | ||
94 | add_manpage(sway-bar 5) | ||
95 | add_manpage(sway-security 7) | ||
96 | endif() | ||
diff --git a/swaymsg/CMakeLists.txt b/swaymsg/CMakeLists.txt deleted file mode 100644 index b428a409..00000000 --- a/swaymsg/CMakeLists.txt +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | add_executable(swaymsg | ||
2 | main.c | ||
3 | ) | ||
4 | |||
5 | include_directories( | ||
6 | ${JSONC_INCLUDE_DIRS} | ||
7 | ) | ||
8 | |||
9 | target_link_libraries(swaymsg | ||
10 | sway-common | ||
11 | ${JSONC_LIBRARIES} | ||
12 | ) | ||
13 | |||
14 | install( | ||
15 | TARGETS swaymsg | ||
16 | RUNTIME | ||
17 | DESTINATION bin | ||
18 | COMPONENT runtime | ||
19 | ) | ||
20 | |||
21 | if (A2X_FOUND) | ||
22 | add_manpage(swaymsg 1) | ||
23 | endif() | ||