From c62baf8bca986d493e1caf441ea7a6b9d1c1823f Mon Sep 17 00:00:00 2001 From: Alexey Gavrilov Date: Sat, 28 Mar 2026 11:36:06 +0700 Subject: Cmake build generator support: toolchain file Two toolchain files for clang and gcc compilers under x86 platform. Debug flags also passed at the configure time. Signed-off-by: Alexey Gavrilov --- CMakeLists.txt | 17 ----------------- arch/SecondaryInit.cpp | 2 -- arch/SecondaryInit.h | 2 -- cmake/toolchain/x86_generic_clang.cmake | 10 ++++++++++ cmake/toolchain/x86_generic_gcc.cmake | 10 ++++++++++ 5 files changed, 20 insertions(+), 21 deletions(-) create mode 100644 cmake/toolchain/x86_generic_clang.cmake create mode 100644 cmake/toolchain/x86_generic_gcc.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 33ac2dc..b093d80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,23 +13,6 @@ set(CXX_FLAGS -mgeneral-regs-only ) -#---DEV PROPERTIES--- (delete in production) -# message(STATUS ${CMAKE_ASM_NASM_COMPILER}) -set(CMAKE_SYSTEM_NAME Generic) -set(CMAKE_ASM_NASM_OBJECT_FORMAT elf32) -set(CMAKE_CXX_COMPILER i686-elf-g++) -set(CMAKE_CXX_COMPILER_WORKS 1) -# set(CMAKE_CUSTOM_LINKER i686-elf-ld) -# set(CMAKE_CXX_LINK_EXECUTABLE -# "ld -o ") -# set(CMAKE_CXX_FLAGS "-I${CMAKE_CURRENT_LIST_DIR}/include") -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -Wall -ffreestanding -nostdinc -nostdlib -fno-rtti -mgeneral-regs-only") -# message(STATUS ${CMAKE_ASM_NASM_FLAGS}) -# message(STATUS ${CMAKE_ASM_NASM_OBJECT_FORMAT}) -# message(STATUS ${CMAKE_CXX_LINK_EXECUTABLE}) -# message(STATUS ${CMAKE_CXX_LINK_FLAGS}) -#-------------------------------------------- - cmake_minimum_required(VERSION 3.25) project(ObjectiveProject LANGUAGES CXX ASM_NASM) diff --git a/arch/SecondaryInit.cpp b/arch/SecondaryInit.cpp index 7eba61b..900f84b 100644 --- a/arch/SecondaryInit.cpp +++ b/arch/SecondaryInit.cpp @@ -3,8 +3,6 @@ void SecondaryInitialization::processorInitialize() { PrimaryInitialization::processorInitialize(); - - Segments(); }; void SecondaryInitialization::devicesInitialize() diff --git a/arch/SecondaryInit.h b/arch/SecondaryInit.h index 104f44c..4823052 100644 --- a/arch/SecondaryInit.h +++ b/arch/SecondaryInit.h @@ -1,5 +1,3 @@ -#include "../kernel/mem/Segments.h" -#include "../kernel/mem/Kheap.h" #include #if defined(__IAPC) diff --git a/cmake/toolchain/x86_generic_clang.cmake b/cmake/toolchain/x86_generic_clang.cmake new file mode 100644 index 0000000..108f9c4 --- /dev/null +++ b/cmake/toolchain/x86_generic_clang.cmake @@ -0,0 +1,10 @@ +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_CROSSCOMPILING true) +set(CMAKE_SYSTEM_PROCESSOR i686) + +set(CMAKE_ASM_NASM_OBJECT_FORMAT elf32) + +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_CXX_COMPILER_TARGET i686) + +set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Wextra -ggdb -g3 -O0") diff --git a/cmake/toolchain/x86_generic_gcc.cmake b/cmake/toolchain/x86_generic_gcc.cmake new file mode 100644 index 0000000..138bc45 --- /dev/null +++ b/cmake/toolchain/x86_generic_gcc.cmake @@ -0,0 +1,10 @@ +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_CROSSCOMPILING true) +set(CMAKE_SYSTEM_PROCESSOR i686) + +set(CMAKE_ASM_NASM_OBJECT_FORMAT elf32) + +set(CMAKE_CXX_COMPILER i686-elf-g++) +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + +set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Wextra -ggdb -g3 -O0") -- cgit v1.2.3