cmake_minimum_required(VERSION 3.16) project(ClaudeOS C ASM) set(CMAKE_C_STANDARD 99) # We are building a kernel, so we don't want standard libraries set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffreestanding -m32 -g -O2 -Wall -Wextra") set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -m32") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32 -nostdlib") # Define build output directory set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) add_subdirectory(src) # add_subdirectory(libs) # add_subdirectory(apps)