include(CMakePackageConfigHelpers) include(GNUInstallDirs) set(package ladybird) set(ladybird_applications ladybird SQLServer WebContent WebDriver WebSocketServer RequestServer headless-browser) set(app_install_targets ${ladybird_applications}) if (ANDROID) # androiddeployqt will get confused with duplicate resources if we install every app set(app_install_targets ladybird) endif() install(TARGETS ${app_install_targets} 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} FILE_SET browser DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILE_SET ladybird DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) 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 webcontent impl library if it exists if (TARGET webcontent) list(APPEND all_required_lagom_libraries webcontent) endif() install(TARGETS ${all_required_lagom_libraries} EXPORT ladybirdTargets COMPONENT ladybird_Runtime LIBRARY COMPONENT ladybird_Runtime NAMELINK_COMPONENT ladybird_Development DESTINATION ${CMAKE_INSTALL_LIBDIR} FILE_SET server DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILE_SET ladybird DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) 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/BrowserAutoplayAllowlist.txt" "${SERENITY_SOURCE_DIR}/Base/home/anon/.config/BrowserContentFilters.txt" "${Lagom_BINARY_DIR}/cacert.pem" DESTINATION "${CMAKE_INSTALL_DATADIR}/res/ladybird" COMPONENT ladybird_Runtime )