cmake_minimum_required(VERSION 3.20.0)
project(Phos)

include(FetchContent)

FetchContent_Declare(
    Corrosion
    GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
    GIT_TAG v0.5
)

set(Rust_TOOLCHAIN nightly)
FetchContent_MakeAvailable(Corrosion)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Phos")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Phos")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Phos")

add_subdirectory("src/Phosboot" "Phosboot")
add_subdirectory("src/Phoskrnl" "Phoskrnl")

unset(CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
unset(CMAKE_LIBRARY_OUTPUT_DIRECTORY)
unset(CMAKE_RUNTIME_OUTPUT_DIRECTORY)

corrosion_import_crate(MANIFEST_PATH Cargo.toml)
