set(CMAKE_SYSTEM_NAME Generic)

if (NOT DEFINED ENV{SERENITY_ARCH})
    message(FATAL_ERROR "SERENITY_ARCH not set.")
endif()

if (NOT DEFINED ENV{SERENITY_ROOT})
    message(FATAL_ERROR "SERENITY_ROOT not set.")
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")

set(SERENITY_BUILD_DIR $ENV{SERENITY_ROOT}/Build/$ENV{SERENITY_ARCH})

# where to read from/write to
set(CMAKE_SYSROOT ${SERENITY_BUILD_DIR}/Root)
set(CMAKE_STAGING_PREFIX ${SERENITY_BUILD_DIR}/Root/usr)
set(CMAKE_INSTALL_PREFIX ${SERENITY_BUILD_DIR}/Root/usr)
set(CMAKE_INSTALL_DATAROOTDIR ${SERENITY_BUILD_DIR}/Root/usr/share)

set(CMAKE_C_COMPILER $ENV{SERENITY_ARCH}-pc-serenity-gcc)
set(CMAKE_CXX_COMPILER $ENV{SERENITY_ARCH}-pc-serenity-g++)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
