mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	cmake: extract add_manpage()
This commit is contained in:
		
							parent
							
								
									297d8b3f02
								
							
						
					
					
						commit
						4277070a7b
					
				
					 2 changed files with 32 additions and 31 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()
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,6 @@ add_subdirectory(swaybar)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find_package(XKBCommon REQUIRED)
 | 
					find_package(XKBCommon REQUIRED)
 | 
				
			||||||
find_package(WLC REQUIRED)
 | 
					find_package(WLC REQUIRED)
 | 
				
			||||||
find_package(A2X REQUIRED)
 | 
					 | 
				
			||||||
find_package(PCRE REQUIRED)
 | 
					find_package(PCRE REQUIRED)
 | 
				
			||||||
find_package(Wayland REQUIRED)
 | 
					find_package(Wayland REQUIRED)
 | 
				
			||||||
find_package(JsonC REQUIRED)
 | 
					find_package(JsonC REQUIRED)
 | 
				
			||||||
| 
						 | 
					@ -98,36 +97,7 @@ install(
 | 
				
			||||||
	COMPONENT configuration
 | 
						COMPONENT configuration
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_custom_target(man ALL)
 | 
					include(Manpage)
 | 
				
			||||||
 | 
					 | 
				
			||||||
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 1)
 | 
				
			||||||
add_manpage(sway 5)
 | 
					add_manpage(sway 5)
 | 
				
			||||||
add_manpage(swaymsg 1)
 | 
					add_manpage(swaymsg 1)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue