mirror of
https://github.com/swaywm/sway.git
synced 2024-11-10 20:44:01 +01:00
4dc913c95e
This will let users set their background to something other than that cringy demoscene thing wlc has now. It's also going to be the first wayland client written for sway, so I picked an easy thing to work on. We'll have to figure out how to indicate that it's a special view.
110 lines
2.9 KiB
CMake
110 lines
2.9 KiB
CMake
cmake_minimum_required(VERSION 2.8.5)
|
|
project(sway C)
|
|
set(CMAKE_C_FLAGS "-g")
|
|
set(CMAKE_C_STANDARD 99)
|
|
SET(CMAKE_C_EXTENSIONS OFF)
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin/")
|
|
add_definitions("-Wall -Wextra -Wno-unused-parameter")
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMake)
|
|
|
|
add_subdirectory(swaybg swaybg)
|
|
|
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
|
|
execute_process(
|
|
COMMAND git describe --always
|
|
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
execute_process(
|
|
COMMAND git rev-parse --abbrev-ref HEAD
|
|
OUTPUT_VARIABLE GIT_BRANCH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
|
|
|
|
SET(VERSION_GIT_COMMIT_FLAG "-DSWAY_GIT_VERSION=\"g${GIT_COMMIT_HASH}\"")
|
|
add_definitions("${VERSION_GIT_COMMIT_FLAG}")
|
|
|
|
SET(VERSION_GIT_BRANCH_FLAG "-DSWAY_GIT_BRANCH=\"${GIT_BRANCH}\"")
|
|
add_definitions("${VERSION_GIT_BRANCH_FLAG}")
|
|
|
|
execute_process(
|
|
COMMAND date +"%Y-%m-%d"
|
|
OUTPUT_VARIABLE CURRENT_DATE
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
SET(VERSION_DATE_FLAG "-DSWAY_VERSION_DATE=${CURRENT_DATE}")
|
|
add_definitions("${VERSION_DATE_FLAG}")
|
|
|
|
find_package(XKBCommon REQUIRED)
|
|
find_package(WLC REQUIRED)
|
|
find_package(A2X REQUIRED)
|
|
find_package(PCRE REQUIRED)
|
|
find_package(JsonC REQUIRED)
|
|
|
|
FILE(GLOB sources ${PROJECT_SOURCE_DIR}/sway/*.c)
|
|
|
|
include_directories(
|
|
${WLC_INCLUDE_DIRS}
|
|
${PCRE_INCLUDE_DIRS}
|
|
${JSONC_INCLUDE_DIRS}
|
|
${XKBCOMMON_INCLUDE_DIRS}
|
|
include/
|
|
)
|
|
|
|
add_executable(sway
|
|
${sources}
|
|
)
|
|
|
|
target_link_libraries(sway
|
|
${WLC_LIBRARIES}
|
|
${XKBCOMMON_LIBRARIES}
|
|
${PCRE_LIBRARIES}
|
|
${JSONC_LIBRARIES}
|
|
)
|
|
|
|
INSTALL(
|
|
TARGETS sway
|
|
RUNTIME DESTINATION bin
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${PROJECT_SOURCE_DIR}/config
|
|
DESTINATION /etc/sway/
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sway.1
|
|
COMMAND ${A2X_COMMAND} --no-xmllint --doctype manpage --format manpage
|
|
-D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIR}/sway.1.txt
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/sway.1.txt
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sway.5
|
|
COMMAND ${A2X_COMMAND} --no-xmllint --doctype manpage --format manpage
|
|
-D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIR}/sway.5.txt
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/sway.5.txt
|
|
)
|
|
|
|
ADD_CUSTOM_TARGET(man ALL
|
|
DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sway.1
|
|
DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sway.5)
|
|
|
|
INSTALL(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sway.1
|
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sway.5
|
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man5
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${PROJECT_SOURCE_DIR}/sway.desktop
|
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/wayland-sessions/)
|
|
|
|
INSTALL(
|
|
FILES ${PROJECT_SOURCE_DIR}/sway-xorg.desktop
|
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/xsessions/)
|