cmake_minimum_required(VERSION 3.20) project(termOSuserspace LANGUAGES C ASM_NASM) set(CMAKE_C_STANDARD 23) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) message(STATUS "Building termOS's userspace") set(TERMOS_OBJCOPY objcopy) if(APPLE) find_program(TERMOS_LD_LLD NAMES ld.lld HINTS /usr/local/bin /opt/homebrew/bin REQUIRED) find_program(TERMOS_OBJCOPY NAMES llvm-objcopy objcopy HINTS /usr/local/opt/llvm/bin /opt/homebrew/opt/llvm/bin REQUIRED) set(CMAKE_C_LINK_FLAGS "") set(CMAKE_ASM_NASM_COMPILE_OBJECT " -MD -MT -f elf64 -o ") set(CMAKE_C_LINK_EXECUTABLE "${TERMOS_LD_LLD} -o ") endif() add_subdirectory(libterm) add_subdirectory(init) add_subdirectory(rust) add_subdirectory(debug) add_subdirectory(termosh)