Initial commit
This commit is contained in:
25
CMakeLists.txt
Normal file
25
CMakeLists.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(new_kernel C ASM)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_C_FLAGS "-g -ffreestanding -Wall -Wextra -fno-exceptions -fno-stack-protector -nostdinc -nostdlib -fno-pie -m32")
|
||||
set(CMAKE_ASM_NASM_OBJECT_FORMAT "elf")
|
||||
set(CMAKE_ASM_FLAGS --32)
|
||||
#set(CMAKE_ASM-ATT_FLAGS --32)
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "-T${CMAKE_CURRENT_LIST_DIR}/linker.ld -lgcc -ffreestanding -nostdlib")
|
||||
set(CMAKE_ASM_COMPILER "/usr/bin/as")
|
||||
#ENABLE_LANGUAGE(ASM_NASM)
|
||||
#enable_language(ASM)
|
||||
|
||||
include_directories(AFTER kernel boot)
|
||||
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
|
||||
FILE(GLOB_RECURSE kernel_src kernel/**.c)
|
||||
FILE(GLOB_RECURSE kernel_asm kernel/**.S)
|
||||
FILE(GLOB_RECURSE boot_asm boot/boot.S)
|
||||
|
||||
add_executable(my-kernel.bin ${kernel_src} ${kernel_asm} ${boot_asm})
|
||||
set_source_files_properties(${kernel_src} PROPERTIES LANGUAGE C COMPILE_FLAGS "")
|
||||
set_target_properties(my-kernel.bin PROPERTIES LINKER_LANGUAGE C PREFIX "" SUFFIX "" LINK_FLAGS "")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user