From 6f815209186e950630e2ffd3c5f4ecea74d1f94a Mon Sep 17 00:00:00 2001 From: Drew Galbraith Date: Wed, 7 Jun 2023 11:09:27 -0700 Subject: [PATCH] Refactor compile flags --- CMakeLists.txt | 3 +++ lib/libc/CMakeLists.txt | 10 +++++----- lib/libcxx/CMakeLists.txt | 12 ++++++------ lib/mammoth/CMakeLists.txt | 7 ++----- sys/CMakeLists.txt | 13 +++++-------- 5 files changed, 21 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f668c3..c285c7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,9 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_EXPORT_COMPILE_COMMANDS True) +set(BASE_COMPILE_FLAGS "-ffreestanding -fno-exceptions -mgeneral-regs-only") +set(BASE_LINK_FLAGS "-nostdlib") + add_subdirectory(zion) add_subdirectory(lib) add_subdirectory(sys) diff --git a/lib/libc/CMakeLists.txt b/lib/libc/CMakeLists.txt index 7188b73..ab6f0eb 100644 --- a/lib/libc/CMakeLists.txt +++ b/lib/libc/CMakeLists.txt @@ -1,15 +1,15 @@ -add_library(libc STATIC +add_library(c STATIC src/malloc.cpp ) -target_include_directories(libc +target_include_directories(c PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) -target_link_libraries(libc +target_link_libraries(c zion_lib ) -set_target_properties(libc PROPERTIES - COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -ffreestanding -mgeneral-regs-only") +set_target_properties(c PROPERTIES + COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}") diff --git a/lib/libcxx/CMakeLists.txt b/lib/libcxx/CMakeLists.txt index 1ca1741..20cf2ae 100644 --- a/lib/libcxx/CMakeLists.txt +++ b/lib/libcxx/CMakeLists.txt @@ -1,15 +1,15 @@ -add_library(libcxx STATIC +add_library(cxx STATIC src/new.cpp ) -target_include_directories(libcxx +target_include_directories(cxx PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) -target_link_libraries(libcxx - libc +target_link_libraries(cxx + c zion_lib ) -set_target_properties(libcxx PROPERTIES - COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -ffreestanding -mgeneral-regs-only") +set_target_properties(cxx PROPERTIES + COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}") diff --git a/lib/mammoth/CMakeLists.txt b/lib/mammoth/CMakeLists.txt index 52ddf9b..1c0f027 100644 --- a/lib/mammoth/CMakeLists.txt +++ b/lib/mammoth/CMakeLists.txt @@ -12,10 +12,7 @@ target_include_directories(mammoth_lib target_link_libraries(mammoth_lib zion_lib) -set(_COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -c -ffreestanding -fno-rtti -fno-exceptions -nostdlib -mabi=sysv -mgeneral-regs-only") -set(_LINK_FLAGS "-nostdlib") - set_target_properties(mammoth_lib PROPERTIES - COMPILE_FLAGS "${_COMPILE_FLAGS}" - LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${_LINK_FLAGS}" + COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}" + LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${BASE_LINK_FLAGS}" ) diff --git a/sys/CMakeLists.txt b/sys/CMakeLists.txt index 6bffd62..851f633 100644 --- a/sys/CMakeLists.txt +++ b/sys/CMakeLists.txt @@ -1,6 +1,3 @@ - -set(_COMPILE_FLAGS "-ffreestanding -fno-exceptions -mgeneral-regs-only") -set(_LINK_FLAGS "-nostdlib") set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") add_executable(test @@ -12,19 +9,19 @@ target_link_libraries(test set_target_properties(test PROPERTIES - COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${_COMPILE_FLAGS}" - LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${_LINK_FLAGS}" + COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}" + LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${BASE_LINK_FLAGS}" ) add_executable(test2 test2.cpp) target_link_libraries(test2 - libcxx + cxx mammoth_lib) set_target_properties(test2 PROPERTIES - COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${_COMPILE_FLAGS}" - LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${_LINK_FLAGS}" + COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}" + LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${BASE_LINK_FLAGS}" )