mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 10:52:44 +00:00 
			
		
		
		
	 0d5d3f12e2
			
		
	
	
		0d5d3f12e2
		
	
	
	
	
		
			
			Use a list of executables to make sure that we don't miss any of the applications used by Ladybird and its friends like WebDriver, and make sure to install include all executables and their runtime dependencies.
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
 | |
| include(CMakePackageConfigHelpers)
 | |
| include(GNUInstallDirs)
 | |
| 
 | |
| set(package ladybird)
 | |
| 
 | |
| set(ladybird_applications ladybird SQLServer WebContent WebDriver headless-browser)
 | |
| 
 | |
| install(TARGETS ${ladybird_applications}
 | |
|   EXPORT ladybirdTargets
 | |
|   RUNTIME
 | |
|     COMPONENT ladybird_Runtime
 | |
|     DESTINATION ${CMAKE_INSTALL_BINDIR}
 | |
|   BUNDLE
 | |
|     COMPONENT ladybird_Runtime
 | |
|     DESTINATION bundle
 | |
|   LIBRARY
 | |
|     COMPONENT ladybird_Runtime
 | |
|     NAMELINK_COMPONENT ladybird_Development
 | |
|     DESTINATION ${CMAKE_INSTALL_LIBDIR}
 | |
| )
 | |
| 
 | |
| include("${SERENITY_SOURCE_DIR}/Meta/Lagom/get_linked_lagom_libraries.cmake")
 | |
| foreach (application IN LISTS ladybird_applications)
 | |
|   get_linked_lagom_libraries("${application}" "${application}_lagom_libraries")
 | |
|   list(APPEND all_required_lagom_libraries "${${application}_lagom_libraries}")
 | |
| endforeach()
 | |
| list(REMOVE_DUPLICATES all_required_lagom_libraries)
 | |
| 
 | |
| install(TARGETS ${all_required_lagom_libraries}
 | |
|   EXPORT ladybirdTargets
 | |
|   COMPONENT ladybird_Runtime
 | |
|   LIBRARY
 | |
|     COMPONENT ladybird_Runtime
 | |
|     NAMELINK_COMPONENT ladybird_Development
 | |
|     DESTINATION ${CMAKE_INSTALL_LIBDIR}
 | |
| )
 | |
| 
 | |
| write_basic_package_version_file(
 | |
|     "${package}ConfigVersion.cmake"
 | |
|     COMPATIBILITY SameMajorVersion
 | |
| )
 | |
| 
 | |
| # Allow package maintainers to freely override the path for the configs
 | |
| set(
 | |
|     ladybird_INSTALL_CMAKEDIR "${CMAKE_INSTALL_DATADIR}/${package}"
 | |
|     CACHE PATH "CMake package config location relative to the install prefix"
 | |
| )
 | |
| mark_as_advanced(ladybird_INSTALL_CMAKEDIR)
 | |
| 
 | |
| install(
 | |
|     FILES cmake/LadybirdInstallConfig.cmake
 | |
|     DESTINATION "${ladybird_INSTALL_CMAKEDIR}"
 | |
|     RENAME "${package}Config.cmake"
 | |
|     COMPONENT ladybird_Development
 | |
| )
 | |
| 
 | |
| install(
 | |
|     FILES "${PROJECT_BINARY_DIR}/${package}ConfigVersion.cmake"
 | |
|     DESTINATION "${ladybird_INSTALL_CMAKEDIR}"
 | |
|     COMPONENT ladybird_Development
 | |
| )
 | |
| 
 | |
| install(
 | |
|     EXPORT ladybirdTargets
 | |
|     NAMESPACE ladybird::
 | |
|     DESTINATION "${ladybird_INSTALL_CMAKEDIR}"
 | |
|     COMPONENT ladybird_Development
 | |
| )
 | |
| 
 | |
| install(DIRECTORY
 | |
|     "${SERENITY_SOURCE_DIR}/Base/res/html"
 | |
|     "${SERENITY_SOURCE_DIR}/Base/res/fonts"
 | |
|     "${SERENITY_SOURCE_DIR}/Base/res/icons"
 | |
|     "${SERENITY_SOURCE_DIR}/Base/res/themes"
 | |
|     "${SERENITY_SOURCE_DIR}/Base/res/color-palettes"
 | |
|     "${SERENITY_SOURCE_DIR}/Base/res/cursor-themes"
 | |
|   DESTINATION "${CMAKE_INSTALL_DATADIR}/res"
 | |
|   USE_SOURCE_PERMISSIONS MESSAGE_NEVER
 | |
|   COMPONENT ladybird_Runtime
 | |
| )
 | |
| 
 | |
| install(FILES
 | |
|     "${SERENITY_SOURCE_DIR}/Base/home/anon/.config/BrowserContentFilters.txt"
 | |
|   DESTINATION "${CMAKE_INSTALL_DATADIR}/res/ladybird"
 | |
|   COMPONENT ladybird_Runtime
 | |
| )
 |