mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 13:36:13 +03:00
CMake: Add HACKSTUDIO_BUILD option for building from Hack Studio
If this option is set, we will not build all components. Instead, we include an external CMake file passed in via a variable named HACKSTUDIO_BUILD_CMAKE_FILE. This will be used to build serenity components from Hack Studio.
This commit is contained in:
parent
afb4c447b4
commit
f464ae84ce
Notes:
sideshowbarker
2024-07-17 21:04:46 +09:00
Author: https://github.com/itamar8910 Commit: https://github.com/SerenityOS/serenity/commit/f464ae84ce5 Pull-request: https://github.com/SerenityOS/serenity/pull/11726 Reviewed-by: https://github.com/awesomekling
@ -47,13 +47,17 @@ if(CCACHE_PROGRAM)
|
|||||||
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}" CACHE FILEPATH "Path to a compiler launcher program, e.g. ccache")
|
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}" CACHE FILEPATH "Path to a compiler launcher program, e.g. ccache")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# FIXME: With cmake 3.18, we can change unzip/untar steps to use
|
if (NOT HACKSTUDIO_BUILD)
|
||||||
# file(ARCHIVE_EXTRACT) instead
|
|
||||||
find_program(UNZIP unzip REQUIRED)
|
|
||||||
find_program(TAR tar REQUIRED)
|
|
||||||
|
|
||||||
# Host tools, required to generate files for the build
|
# FIXME: With cmake 3.18, we can change unzip/untar steps to use
|
||||||
find_package(Lagom CONFIG REQUIRED)
|
# file( ARCHIVE_EXTRACT) instead
|
||||||
|
find_program(UNZIP unzip REQUIRED)
|
||||||
|
find_program(TAR tar REQUIRED)
|
||||||
|
|
||||||
|
# Host tools, required to generate files for the build
|
||||||
|
find_package(Lagom CONFIG REQUIRED)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
# Meta target to run all code-gen steps in the build.
|
# Meta target to run all code-gen steps in the build.
|
||||||
add_custom_target(all_generated)
|
add_custom_target(all_generated)
|
||||||
@ -109,11 +113,15 @@ add_custom_target(install-ports
|
|||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(configure-components
|
if (NOT HACKSTUDIO_BUILD)
|
||||||
COMMAND "$<TARGET_FILE:Lagom::ConfigureComponents>"
|
|
||||||
USES_TERMINAL
|
add_custom_target(configure-components
|
||||||
)
|
COMMAND "$<TARGET_FILE:Lagom::ConfigureComponents>"
|
||||||
add_dependencies(configure-components Lagom::ConfigureComponents)
|
USES_TERMINAL
|
||||||
|
)
|
||||||
|
add_dependencies(configure-components Lagom::ConfigureComponents)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
@ -251,6 +259,11 @@ serenity_component(
|
|||||||
RECOMMENDED
|
RECOMMENDED
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (HACKSTUDIO_BUILD)
|
||||||
|
include(${HACKSTUDIO_BUILD_CMAKE_FILE})
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(AK)
|
add_subdirectory(AK)
|
||||||
add_subdirectory(Kernel)
|
add_subdirectory(Kernel)
|
||||||
if(NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
|
if(NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
|
||||||
|
@ -12,3 +12,5 @@ serenity_option(ENABLE_COMPILETIME_HEADER_CHECK OFF CACHE BOOL "Enable compileti
|
|||||||
serenity_option(ENABLE_TIME_ZONE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of the IANA Time Zone Database at build time")
|
serenity_option(ENABLE_TIME_ZONE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of the IANA Time Zone Database at build time")
|
||||||
serenity_option(ENABLE_UNICODE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of Unicode UCD and CLDR files at build time")
|
serenity_option(ENABLE_UNICODE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of Unicode UCD and CLDR files at build time")
|
||||||
serenity_option(INCLUDE_WASM_SPEC_TESTS OFF CACHE BOOL "Download and include the WebAssembly spec testsuite")
|
serenity_option(INCLUDE_WASM_SPEC_TESTS OFF CACHE BOOL "Download and include the WebAssembly spec testsuite")
|
||||||
|
|
||||||
|
serenity_option(HACKSTUDIO_BUILD OFF CACHE BOOL "Automatically enabled when building from HackStudio")
|
||||||
|
Loading…
Reference in New Issue
Block a user