WIP: modules
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# Copyright (c) 2026 0xKSor
|
||||
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
project(ksOS_init LANGUAGES C)
|
||||
|
||||
file(GLOB_RECURSE INIT_SOURCES CMAKE_CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Source/*.S
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Source/*.c
|
||||
)
|
||||
|
||||
add_executable(init ${INIT_SOURCES})
|
||||
|
||||
target_include_directories(init PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Source
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../Common
|
||||
)
|
||||
|
||||
target_compile_options(init PRIVATE
|
||||
-std=c23
|
||||
-ffreestanding
|
||||
-fno-stack-protector
|
||||
-fno-builtin
|
||||
-Wall -Wextra
|
||||
-g
|
||||
-mgeneral-regs-only
|
||||
)
|
||||
|
||||
# Передаем "голые" аргументы напрямую для ld.lld
|
||||
target_link_options(init PRIVATE
|
||||
"-Ttext=0x400000"
|
||||
"-e" "_start"
|
||||
"-z" "max-page-size=0x1000"
|
||||
"--no-dynamic-linker"
|
||||
)
|
||||
|
||||
set_target_properties(init PROPERTIES
|
||||
OUTPUT_NAME "Init"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||
)
|
||||
Reference in New Issue
Block a user