mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
108 lines
3.2 KiB
CMake
108 lines
3.2 KiB
CMake
|
|
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
|
|
)
|