wip: IPC and Runtime
This commit is contained in:
@@ -56,3 +56,7 @@ find_program(LLVM_OBJCOPY NAMES llvm-objcopy objcopy
|
||||
/opt/homebrew/bin
|
||||
REQUIRED
|
||||
)
|
||||
|
||||
set(CMAKE_C_FLAGS_INIT "-ffreestanding -mgeneral-regs-only -std=c23")
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-nostdlib -static -no-pie -z max-page-size=0x1000 --no-dynamic-linker -T ${CMAKE_CURRENT_LIST_DIR}/linker.ld -Ttext=0x400000")
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# Copyright (c) 2026 0xKSor
|
||||
|
||||
set(KSOS_SYSROOT_SRC "${CMAKE_CURRENT_LIST_DIR}/..")
|
||||
set(BUILD_DIR $ENV{BUILD_DIR})
|
||||
if(NOT BUILD_DIR)
|
||||
set(BUILD_DIR "${CMAKE_CURRENT_LIST_DIR}/../../.build")
|
||||
endif()
|
||||
|
||||
set(KSOS_LIB_DIR "${BUILD_DIR}/Runtime/System/libksOS")
|
||||
|
||||
function(add_ksos_executable TARGET_NAME)
|
||||
add_executable(${TARGET_NAME}
|
||||
"${KSOS_SYSROOT_SRC}/System/libksOS/Source/crt0.S"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
target_include_directories(${TARGET_NAME} PRIVATE
|
||||
"${KSOS_SYSROOT_SRC}/System/libksOS/Include"
|
||||
)
|
||||
|
||||
target_link_directories(${TARGET_NAME} PRIVATE
|
||||
"${KSOS_LIB_DIR}"
|
||||
)
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE
|
||||
ksOS
|
||||
)
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user