Luna/CMakeLists.txt
apio 129e3c434a
Some checks failed
continuous-integration/drone/push Build is failing
Switch to C for userspace, with a very bare-bones libc!!
2023-01-06 13:31:14 +01:00

35 lines
872 B
CMake

cmake_minimum_required(VERSION 3.8..3.22)
set(CMAKE_C_COMPILER_WORKS 1)
set(CMAKE_CXX_COMPILER_WORKS 1)
set(CMAKE_CROSSCOMPILING true)
project(Luna LANGUAGES C CXX ASM ASM_NASM VERSION 0.1.0)
set(LUNA_ROOT ${CMAKE_CURRENT_LIST_DIR})
set(LUNA_BASE ${CMAKE_CURRENT_LIST_DIR}/base)
set(ARCH $ENV{ARCH})
if(NOT DEFINED $ENV{ARCH})
set(ARCH "x86_64")
endif()
set(CMAKE_C_COMPILER ${ARCH}-luna-gcc)
set(CMAKE_CXX_COMPILER ${ARCH}-luna-g++)
set(CMAKE_ASM_COMPILER ${ARCH}-luna-gcc)
set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
set(CMAKE_ASM_NASM_LINK_EXECUTABLE "${ARCH}-luna-ld <FLAGS> <CMAKE_ASM_NASM_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
set(CMAKE_FIND_ROOT_PATH ${LUNA_ROOT}/toolchain/x86-64-luna)
message(STATUS "Configuring Luna for ${ARCH}")
add_subdirectory(luna)
add_subdirectory(libc)
add_subdirectory(kernel)
add_subdirectory(apps)