You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.3 KiB
109 lines
2.3 KiB
include_directories(
|
|
${PROTOCOLS_INCLUDE_DIRS}
|
|
${WLC_INCLUDE_DIRS}
|
|
${WLR_INCLUDE_DIRS}
|
|
${PCRE_INCLUDE_DIRS}
|
|
${JSONC_INCLUDE_DIRS}
|
|
${XKBCOMMON_INCLUDE_DIRS}
|
|
${LIBINPUT_INCLUDE_DIRS}
|
|
${CAIRO_INCLUDE_DIRS}
|
|
${PANGO_INCLUDE_DIRS}
|
|
${WAYLAND_INCLUDE_DIR}
|
|
)
|
|
|
|
file(GLOB cmds
|
|
"commands/*.c"
|
|
"commands/bar/*.c"
|
|
"commands/input/*.c"
|
|
)
|
|
|
|
add_executable(sway
|
|
commands.c
|
|
${cmds}
|
|
base64.c
|
|
config.c
|
|
container.c
|
|
criteria.c
|
|
debug_log.c
|
|
focus.c
|
|
input.c
|
|
input_state.c
|
|
ipc-json.c
|
|
ipc-server.c
|
|
layout.c
|
|
main.c
|
|
output.c
|
|
workspace.c
|
|
border.c
|
|
security.c
|
|
server.c
|
|
)
|
|
|
|
add_definitions(
|
|
-DSYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}"
|
|
)
|
|
|
|
target_link_libraries(sway
|
|
sway-common
|
|
sway-protocols
|
|
sway-wayland
|
|
${WLC_LIBRARIES}
|
|
${WLR_LIBRARIES}
|
|
${XKBCOMMON_LIBRARIES}
|
|
${PCRE_LIBRARIES}
|
|
${JSONC_LIBRARIES}
|
|
${WAYLAND_SERVER_LIBRARIES}
|
|
${LIBINPUT_LIBRARIES}
|
|
${PANGO_LIBRARIES}
|
|
${JSONC_LIBRARIES}
|
|
m
|
|
)
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
|
|
target_link_libraries(sway cap)
|
|
endif (CMAKE_SYSTEM_NAME STREQUAL Linux)
|
|
|
|
install(
|
|
TARGETS sway
|
|
RUNTIME
|
|
DESTINATION bin
|
|
COMPONENT runtime
|
|
)
|
|
|
|
add_custom_target(configs ALL)
|
|
|
|
function(add_config name source destination)
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}
|
|
COMMAND sed -r
|
|
's?__PREFIX__?${CMAKE_INSTALL_PREFIX}?g\; s?__SYSCONFDIR__?${CMAKE_INSTALL_FULL_SYSCONFDIR}?g\; s?__DATADIR__?${CMAKE_INSTALL_FULL_DATADIR}?g'
|
|
${PROJECT_SOURCE_DIR}/${source}.in > ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}
|
|
DEPENDS ${PROJECT_SOURCE_DIR}/${source}.in
|
|
COMMENT "Generating config file ${source}"
|
|
)
|
|
|
|
install(
|
|
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}
|
|
DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/${destination}
|
|
COMPONENT configuration
|
|
)
|
|
|
|
add_custom_target(config-${name} DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name})
|
|
add_dependencies(configs config-${name})
|
|
endfunction()
|
|
|
|
add_config(config config sway)
|
|
add_config(00-defaults security.d/00-defaults sway/security.d)
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
|
|
add_config(10-freebsd security.d/10-freebsd sway/security.d)
|
|
endif (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
|
|
|
|
if (A2X_FOUND)
|
|
add_manpage(sway 1)
|
|
add_manpage(sway 5)
|
|
add_manpage(sway-input 5)
|
|
add_manpage(sway-bar 5)
|
|
add_manpage(sway-security 7)
|
|
endif()
|