diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 171 |
1 files changed, 94 insertions, 77 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 68dd7fa3..48f03e2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,39 +4,44 @@ project(sway C) set(FALLBACK_CONFIG_DIR "/etc/sway" CACHE PATH "Fallback config directory defaults to /etc/sway") -add_definitions('-DFALLBACK_CONFIG_DIR=\"${FALLBACK_CONFIG_DIR}\"') +add_definitions(-DFALLBACK_CONFIG_DIR=\"${FALLBACK_CONFIG_DIR}\") set(CMAKE_C_FLAGS "-g") set(CMAKE_C_STANDARD 99) -SET(CMAKE_C_EXTENSIONS OFF) -set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/bin") -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") -add_definitions("-Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE") +set(CMAKE_C_EXTENSIONS OFF) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) +add_definitions( + -D_GNU_SOURCE +) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter") + list(INSERT CMAKE_MODULE_PATH 0 - "${CMAKE_CURRENT_SOURCE_DIR}/CMake") - -if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git") - execute_process( - COMMAND git describe --always - OUTPUT_VARIABLE GIT_COMMIT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - ) - execute_process( - COMMAND git rev-parse --abbrev-ref HEAD - OUTPUT_VARIABLE GIT_BRANCH - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - ) -endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git") - -add_definitions("-DSWAY_GIT_VERSION=\"g${GIT_COMMIT_HASH}\"") -add_definitions("-DSWAY_GIT_BRANCH=\"${GIT_BRANCH}\"") + ${CMAKE_CURRENT_SOURCE_DIR}/CMake +) +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) + execute_process( + COMMAND git describe --always + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) +endif() + +add_definitions(-DSWAY_GIT_VERSION=\"${GIT_COMMIT_HASH}\") +add_definitions(-DSWAY_GIT_BRANCH=\"${GIT_BRANCH}\") string(TIMESTAMP CURRENT_DATE "%Y-%m-%d" UTC) -add_definitions('-DSWAY_VERSION_DATE="${CURRENT_DATE}"') +add_definitions(-DSWAY_VERSION_DATE=\"${CURRENT_DATE}\") -include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include") +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) add_subdirectory(swaybg) add_subdirectory(swaymsg) @@ -50,68 +55,78 @@ 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) +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) +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} + ${WLC_INCLUDE_DIRS} + ${PCRE_INCLUDE_DIRS} + ${JSONC_INCLUDE_DIRS} + ${XKBCOMMON_INCLUDE_DIRS} + ${CMAKE_CURRENT_BINARY_DIR} ) add_executable(sway - ${sources} - ${common} - ${proto-desktop-shell} + ${sources} + ${common} + ${proto-desktop-shell} ) target_link_libraries(sway - ${WLC_LIBRARIES} - ${XKBCOMMON_LIBRARIES} - ${PCRE_LIBRARIES} - ${JSONC_LIBRARIES} - ${WAYLAND_SERVER_LIBRARIES} + ${WLC_LIBRARIES} + ${XKBCOMMON_LIBRARIES} + ${PCRE_LIBRARIES} + ${JSONC_LIBRARIES} + ${WAYLAND_SERVER_LIBRARIES} ) install( - TARGETS sway - RUNTIME DESTINATION bin - COMPONENT runtime) + TARGETS sway + RUNTIME + DESTINATION bin + COMPONENT runtime +) install( - FILES "${CMAKE_CURRENT_SOURCE_DIR}/config" - DESTINATION "${FALLBACK_CONFIG_DIR}" - COMPONENT configuration) + 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 () +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() add_manpage(sway 1) add_manpage(sway 5) @@ -119,10 +134,12 @@ add_manpage(swaymsg 1) add_manpage(swaygrab 1) install( - FILES "${CMAKE_CURRENT_SOURCE_DIR}/sway.desktop" - DESTINATION share/wayland-sessions - COMPONENT data) + FILES ${CMAKE_CURRENT_SOURCE_DIR}/sway.desktop + DESTINATION share/wayland-sessions + COMPONENT data +) install( - FILES "${CMAKE_CURRENT_SOURCE_DIR}/sway-xorg.desktop" - DESTINATION share/xsessions - COMPONENT data) + FILES ${CMAKE_CURRENT_SOURCE_DIR}/sway-xorg.desktop + DESTINATION share/xsessions + COMPONENT data +) |