mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05: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…
	
	Add table
		Add a link
		
	
		Reference in a new issue