add_executable("kernel" # Platform-independent KAPI implementation "kapi/boot_modules.cpp" "kapi/cio.cpp" "kapi/memory.cpp" "kapi/system.cpp" # KSTD OS Implementation "kstd/os.cpp" "kstd/print.cpp" # Kernel Implementation "src/main.cpp" "src/memory/bitmap_allocator.cpp" "src/memory/block_list_allocator.cpp" "src/memory/operators.cpp" "src/memory.cpp" "src/devices/device.cpp" "src/devices/block_device.cpp" "src/devices/storage/storage_controller.cpp" "src/devices/storage/storage_management.cpp" "src/devices/storage/ram_disk/ram_disk_controller.cpp" "src/devices/storage/ram_disk/ram_disk_device.cpp" "src/filesystem/devfs/devfs_filesystem.cpp" "src/filesystem/devfs/devfs_root_inode.cpp" "src/filesystem/ext2/ext2_file.cpp" "src/filesystem/ext2/ext2_filesystem.cpp" "src/filesystem/ext2/ext2_inode.cpp" "src/filesystem/dentry.cpp" "src/filesystem/device_inode.cpp" "src/filesystem/file_descriptor_table.cpp" "src/filesystem/filesystem.cpp" "src/filesystem/inode.cpp" "src/filesystem/mount_table.cpp" "src/filesystem/mount.cpp" "src/filesystem/open_file_description.cpp" "src/filesystem/rootfs/rootfs_filesystem.cpp" "src/filesystem/rootfs/rootfs_inode.cpp" "src/filesystem/vfs.cpp" ) target_include_directories("kernel" PRIVATE "include" ) target_link_libraries("kernel" PRIVATE "os::arch" "os::kapi" ) target_link_options("kernel" PRIVATE "-T${KERNEL_LINKER_SCRIPT}" "-no-pie" "-nostdlib" ) set_property(TARGET "kernel" APPEND PROPERTY LINK_DEPENDS "${KERNEL_LINKER_SCRIPT}" ) target_disassemble("kernel") target_extract_debug_symbols("kernel") target_strip("kernel") target_generate_bootable_iso("kernel")