mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
CMake: Add option to disable network downloads altogether
This is useful for fully offline builds, and some distribution platforms
This commit is contained in:
parent
b046940679
commit
68953f798b
Notes:
sideshowbarker
2024-07-17 03:59:29 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/68953f798b Pull-request: https://github.com/SerenityOS/serenity/pull/20417 Reviewed-by: https://github.com/awesomekling ✅ Reviewed-by: https://github.com/trflynn89
3 changed files with 5 additions and 0 deletions
|
@ -68,6 +68,7 @@ There are some optional features that can be enabled during compilation that are
|
||||||
- `BUILD_<component>`: builds the specified component, e.g. `BUILD_HEARTS` (note: must be all caps). Check the components.ini file in your build directory for a list of available components. Make sure to run `ninja clean` and `rm -rf Build/x86_64/Root` after disabling components. These options can be easily configured by using the `ConfigureComponents` utility. See the [Component Configuration](#component-configuration) section below.
|
- `BUILD_<component>`: builds the specified component, e.g. `BUILD_HEARTS` (note: must be all caps). Check the components.ini file in your build directory for a list of available components. Make sure to run `ninja clean` and `rm -rf Build/x86_64/Root` after disabling components. These options can be easily configured by using the `ConfigureComponents` utility. See the [Component Configuration](#component-configuration) section below.
|
||||||
- `BUILD_EVERYTHING`: builds all optional components, overrides other `BUILD_<component>` flags when enabled
|
- `BUILD_EVERYTHING`: builds all optional components, overrides other `BUILD_<component>` flags when enabled
|
||||||
- `SERENITY_CACHE_DIR`: sets the location of a shared cache of downloaded files. Should not need to be set unless managing a distribution package.
|
- `SERENITY_CACHE_DIR`: sets the location of a shared cache of downloaded files. Should not need to be set unless managing a distribution package.
|
||||||
|
- `ENABLE_NETWORK_DOWNLOADS`: allows downloading files from the internet during the build. Default on, turning off enables offline builds. For offline builds, the structure of the SERENITY_CACHE_DIR must be set up the way that the build expects.
|
||||||
|
|
||||||
Many parts of the SerenityOS codebase have debug functionality, mostly consisting of additional messages printed to the debug console. This is done via the `<component_name>_DEBUG` macros, which can be enabled individually at build time. They are listed in [this file](../Meta/CMake/all_the_debug_macros.cmake).
|
Many parts of the SerenityOS codebase have debug functionality, mostly consisting of additional messages printed to the debug console. This is done via the `<component_name>_DEBUG` macros, which can be enabled individually at build time. They are listed in [this file](../Meta/CMake/all_the_debug_macros.cmake).
|
||||||
|
|
||||||
|
|
|
@ -26,3 +26,4 @@ serenity_option(ENABLE_JAKT OFF CACHE BOOL "Enable building jakt files")
|
||||||
serenity_option(JAKT_SOURCE_DIR "" CACHE STRING "Pre-existing jakt language source directory")
|
serenity_option(JAKT_SOURCE_DIR "" CACHE STRING "Pre-existing jakt language source directory")
|
||||||
|
|
||||||
serenity_option(SERENITY_CACHE_DIR "${PROJECT_BINARY_DIR}/../caches" CACHE PATH "Location of shared cache of downloaded files")
|
serenity_option(SERENITY_CACHE_DIR "${PROJECT_BINARY_DIR}/../caches" CACHE PATH "Location of shared cache of downloaded files")
|
||||||
|
serenity_option(ENABLE_NETWORK_DOWNLOADS ON CACHE BOOL "Allow downloads of required files. If OFF, required files must already be present in SERENITY_CACHE_DIR")
|
||||||
|
|
|
@ -225,6 +225,9 @@ endfunction()
|
||||||
|
|
||||||
function(download_file_multisource urls path)
|
function(download_file_multisource urls path)
|
||||||
if (NOT EXISTS "${path}")
|
if (NOT EXISTS "${path}")
|
||||||
|
if (NOT ENABLE_NETWORK_DOWNLOADS)
|
||||||
|
message(FATAL_ERROR "${path} does not exist, and unable to download it")
|
||||||
|
endif()
|
||||||
get_filename_component(file "${path}" NAME)
|
get_filename_component(file "${path}" NAME)
|
||||||
|
|
||||||
foreach(url ${urls})
|
foreach(url ${urls})
|
||||||
|
|
Loading…
Reference in a new issue