1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 08:37:46 +00:00

Meta: Update jakt build support for fully bootstrapped compiler

Remove the Corrosion dependency, and use the now-builtin
add_jakt_executable function from the Jakt install rules to build our
example application.

By using find_package(Jakt), we now have to set ENABLE_JAKT manually on
both serenity and Lagom at the same time, so the preferred method to do
this for now is:

    cmake -B Build/superbuild<arch><toolchain> \
          -S Meta/CMake/Superbuild \
          -DENABLE_JAKT=ON \
          -DJAKT_SOURCE_DIR=/path/to/jakt

Where omitting JAKT_SOURCE_DIR will still pull from the main branch of
SerenityOS/jakt. This can be done after runing Meta/serenity.sh run.
This commit is contained in:
Andrew Kaster 2022-08-28 17:47:03 -06:00 committed by Andreas Kling
parent 72ae082ca8
commit 5ab3fcf710
8 changed files with 14 additions and 81 deletions

View file

@ -4,14 +4,6 @@
include(FetchContent)
FetchContent_Declare(
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.2.1
)
FetchContent_MakeAvailable(Corrosion)
FetchContent_Declare(jakt
GIT_REPOSITORY https://github.com/SerenityOS/jakt.git
GIT_TAG main
@ -24,17 +16,5 @@ if (JAKT_SOURCE_DIR)
message(STATUS "Using pre-existing JAKT_SOURCE_DIR: ${JAKT_SOURCE_DIR}")
endif()
FetchContent_GetProperties(jakt)
if (NOT jakt_POPULATED)
FetchContent_Populate(jakt)
corrosion_import_crate(MANIFEST_PATH "${jakt_SOURCE_DIR}/Cargo.toml")
corrosion_set_hostbuild(jakt)
add_executable(Lagom::jakt ALIAS jakt)
corrosion_install(TARGETS jakt RUNTIME COMPONENT Lagom_Runtime)
# NOTE: See lagom-install-config.cmake for hax required to get Lagom::jakt to show up on install
install(DIRECTORY "${jakt_SOURCE_DIR}/runtime"
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jakt
FILES_MATCHING PATTERN "*.h"
PATTERN "*.cpp"
PATTERN "utility")
endif()
set(JAKT_BUILD_TESTING OFF)
FetchContent_MakeAvailable(jakt)