mirror of
https://github.com/swaywm/sway.git
synced 2024-12-30 17:06:40 +01:00
Merge pull request #287 from christophgysin/cmake
cmake: extract config from toplevel CMakeLists.txt
This commit is contained in:
commit
fc01f04c93
7 changed files with 96 additions and 103 deletions
31
CMake/Manpage.cmake
Normal file
31
CMake/Manpage.cmake
Normal file
|
@ -0,0 +1,31 @@
|
|||
find_package(A2X REQUIRED)
|
||||
|
||||
add_custom_target(man ALL)
|
||||
|
||||
function(add_manpage name section)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
|
||||
COMMAND ${A2X_COMMAND}
|
||||
--no-xmllint
|
||||
--doctype manpage
|
||||
--format manpage
|
||||
-D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
|
||||
COMMENT Generating manpage for ${name}.${section}
|
||||
)
|
||||
|
||||
add_custom_target(man-${name}.${section}
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
|
||||
)
|
||||
add_dependencies(man
|
||||
man-${name}.${section}
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
|
||||
DESTINATION share/man/man${section}
|
||||
COMPONENT documentation
|
||||
)
|
||||
endfunction()
|
|
@ -43,91 +43,13 @@ add_definitions(-DSWAY_VERSION_DATE=\"${CURRENT_DATE}\")
|
|||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
add_subdirectory(sway)
|
||||
add_subdirectory(swaybg)
|
||||
add_subdirectory(swaymsg)
|
||||
add_subdirectory(swaygrab)
|
||||
add_subdirectory(swaybar)
|
||||
|
||||
find_package(XKBCommon REQUIRED)
|
||||
find_package(WLC REQUIRED)
|
||||
find_package(A2X REQUIRED)
|
||||
find_package(PCRE REQUIRED)
|
||||
find_package(Wayland REQUIRED)
|
||||
find_package(JsonC REQUIRED)
|
||||
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/sway/*.c)
|
||||
file(GLOB common ${PROJECT_SOURCE_DIR}/common/*.c)
|
||||
|
||||
include(Wayland)
|
||||
WAYLAND_ADD_PROTOCOL_SERVER(proto-desktop-shell
|
||||
${PROJECT_SOURCE_DIR}/protocols/desktop-shell.xml
|
||||
desktop-shell
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${WLC_INCLUDE_DIRS}
|
||||
${PCRE_INCLUDE_DIRS}
|
||||
${JSONC_INCLUDE_DIRS}
|
||||
${XKBCOMMON_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_executable(sway
|
||||
${sources}
|
||||
${common}
|
||||
${proto-desktop-shell}
|
||||
)
|
||||
|
||||
target_link_libraries(sway
|
||||
${WLC_LIBRARIES}
|
||||
${XKBCOMMON_LIBRARIES}
|
||||
${PCRE_LIBRARIES}
|
||||
${JSONC_LIBRARIES}
|
||||
${WAYLAND_SERVER_LIBRARIES}
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS sway
|
||||
RUNTIME
|
||||
DESTINATION bin
|
||||
COMPONENT runtime
|
||||
)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/config
|
||||
DESTINATION ${FALLBACK_CONFIG_DIR}
|
||||
COMPONENT configuration
|
||||
)
|
||||
|
||||
add_custom_target(man ALL)
|
||||
|
||||
function(add_manpage name section)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
|
||||
COMMAND ${A2X_COMMAND}
|
||||
--no-xmllint
|
||||
--doctype manpage
|
||||
--format manpage
|
||||
-D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
|
||||
COMMENT Generating manpage for ${name}.${section}
|
||||
)
|
||||
|
||||
add_custom_target(man-${name}.${section}
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
|
||||
)
|
||||
add_dependencies(man
|
||||
man-${name}.${section}
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
|
||||
DESTINATION share/man/man${section}
|
||||
COMPONENT documentation
|
||||
)
|
||||
endfunction()
|
||||
|
||||
include(Manpage)
|
||||
add_manpage(sway 1)
|
||||
add_manpage(sway 5)
|
||||
add_manpage(swaymsg 1)
|
||||
|
|
48
sway/CMakeLists.txt
Normal file
48
sway/CMakeLists.txt
Normal file
|
@ -0,0 +1,48 @@
|
|||
find_package(XKBCommon REQUIRED)
|
||||
find_package(WLC REQUIRED)
|
||||
find_package(PCRE REQUIRED)
|
||||
find_package(Wayland REQUIRED)
|
||||
find_package(JsonC REQUIRED)
|
||||
|
||||
include(Wayland)
|
||||
WAYLAND_ADD_PROTOCOL_SERVER(proto-desktop-shell
|
||||
${PROJECT_SOURCE_DIR}/protocols/desktop-shell.xml
|
||||
desktop-shell
|
||||
)
|
||||
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/sway/*.c)
|
||||
file(GLOB common ${PROJECT_SOURCE_DIR}/common/*.c)
|
||||
|
||||
include_directories(
|
||||
${WLC_INCLUDE_DIRS}
|
||||
${PCRE_INCLUDE_DIRS}
|
||||
${JSONC_INCLUDE_DIRS}
|
||||
${XKBCOMMON_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_executable(sway
|
||||
${sources}
|
||||
${common}
|
||||
${proto-desktop-shell}
|
||||
)
|
||||
|
||||
target_link_libraries(sway
|
||||
${WLC_LIBRARIES}
|
||||
${XKBCOMMON_LIBRARIES}
|
||||
${PCRE_LIBRARIES}
|
||||
${JSONC_LIBRARIES}
|
||||
${WAYLAND_SERVER_LIBRARIES}
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS sway
|
||||
RUNTIME
|
||||
DESTINATION bin
|
||||
COMPONENT runtime
|
||||
)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/config
|
||||
DESTINATION ${FALLBACK_CONFIG_DIR}
|
||||
COMPONENT configuration
|
||||
)
|
|
@ -1,16 +1,14 @@
|
|||
project(swaybar)
|
||||
|
||||
find_package(Wayland REQUIRED)
|
||||
find_package(Cairo REQUIRED)
|
||||
find_package(Pango REQUIRED)
|
||||
|
||||
include(Wayland)
|
||||
WAYLAND_ADD_PROTOCOL_CLIENT(proto-xdg-shell
|
||||
${PROJECT_SOURCE_DIR}/../protocols/xdg-shell.xml
|
||||
../protocols/xdg-shell.xml
|
||||
xdg-shell
|
||||
)
|
||||
WAYLAND_ADD_PROTOCOL_CLIENT(proto-desktop-shell
|
||||
${PROJECT_SOURCE_DIR}/../protocols/desktop-shell.xml
|
||||
../protocols/desktop-shell.xml
|
||||
desktop-shell
|
||||
)
|
||||
|
||||
|
@ -21,9 +19,9 @@ include_directories(
|
|||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/*.c)
|
||||
file(GLOB common ${PROJECT_SOURCE_DIR}/../common/*.c)
|
||||
file(GLOB wl_sources ${PROJECT_SOURCE_DIR}/../wayland/*.c)
|
||||
file(GLOB sources *.c)
|
||||
file(GLOB common ../common/*.c)
|
||||
file(GLOB wl_sources ../wayland/*.c)
|
||||
|
||||
add_executable(swaybar
|
||||
${sources}
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
project(swaybg)
|
||||
|
||||
find_package(Wayland REQUIRED)
|
||||
find_package(Cairo REQUIRED)
|
||||
find_package(Pango REQUIRED)
|
||||
|
||||
include(Wayland)
|
||||
WAYLAND_ADD_PROTOCOL_CLIENT(proto-xdg-shell
|
||||
${PROJECT_SOURCE_DIR}/../protocols/xdg-shell.xml
|
||||
../protocols/xdg-shell.xml
|
||||
xdg-shell
|
||||
)
|
||||
WAYLAND_ADD_PROTOCOL_CLIENT(proto-desktop-shell
|
||||
${PROJECT_SOURCE_DIR}/../protocols/desktop-shell.xml
|
||||
../protocols/desktop-shell.xml
|
||||
desktop-shell
|
||||
)
|
||||
|
||||
|
@ -21,9 +19,9 @@ include_directories(
|
|||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/*.c)
|
||||
file(GLOB common ${PROJECT_SOURCE_DIR}/../common/*.c)
|
||||
file(GLOB wl_sources ${PROJECT_SOURCE_DIR}/../wayland/*.c)
|
||||
file(GLOB sources *.c)
|
||||
file(GLOB common ../common/*.c)
|
||||
file(GLOB wl_sources ../wayland/*.c)
|
||||
|
||||
add_executable(swaybg
|
||||
${sources}
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
project(swaygrab)
|
||||
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/*.c)
|
||||
file(GLOB common ${PROJECT_SOURCE_DIR}/../common/*.c)
|
||||
file(GLOB sources *.c)
|
||||
file(GLOB common ../common/*.c)
|
||||
|
||||
add_executable(swaygrab
|
||||
${sources}
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
project(swaymsg)
|
||||
|
||||
file(GLOB sources ${PROJECT_SOURCE_DIR}/*.c)
|
||||
file(GLOB common ${PROJECT_SOURCE_DIR}/../common/*.c)
|
||||
file(GLOB sources *.c)
|
||||
file(GLOB common ../common/*.c)
|
||||
|
||||
add_executable(swaymsg
|
||||
${sources}
|
||||
|
|
Loading…
Reference in a new issue