Refactor compile flags
This commit is contained in:
parent
010e261dc7
commit
6f81520918
|
@ -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)
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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}"
|
||||
)
|
||||
|
|
|
@ -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}"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue