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_CXX_STANDARD_REQUIRED True)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS 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(zion)
|
||||||
add_subdirectory(lib)
|
add_subdirectory(lib)
|
||||||
add_subdirectory(sys)
|
add_subdirectory(sys)
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
|
|
||||||
add_library(libc STATIC
|
add_library(c STATIC
|
||||||
src/malloc.cpp
|
src/malloc.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(libc
|
target_include_directories(c
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
target_link_libraries(libc
|
target_link_libraries(c
|
||||||
zion_lib
|
zion_lib
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(libc PROPERTIES
|
set_target_properties(c PROPERTIES
|
||||||
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -ffreestanding -mgeneral-regs-only")
|
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}")
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
add_library(libcxx STATIC
|
add_library(cxx STATIC
|
||||||
src/new.cpp
|
src/new.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(libcxx
|
target_include_directories(cxx
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
target_link_libraries(libcxx
|
target_link_libraries(cxx
|
||||||
libc
|
c
|
||||||
zion_lib
|
zion_lib
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(libcxx PROPERTIES
|
set_target_properties(cxx PROPERTIES
|
||||||
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -ffreestanding -mgeneral-regs-only")
|
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}")
|
||||||
|
|
|
@ -12,10 +12,7 @@ target_include_directories(mammoth_lib
|
||||||
target_link_libraries(mammoth_lib
|
target_link_libraries(mammoth_lib
|
||||||
zion_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
|
set_target_properties(mammoth_lib PROPERTIES
|
||||||
COMPILE_FLAGS "${_COMPILE_FLAGS}"
|
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}"
|
||||||
LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${_LINK_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 "")
|
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
|
||||||
|
|
||||||
add_executable(test
|
add_executable(test
|
||||||
|
@ -12,19 +9,19 @@ target_link_libraries(test
|
||||||
|
|
||||||
set_target_properties(test
|
set_target_properties(test
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${_COMPILE_FLAGS}"
|
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}"
|
||||||
LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${_LINK_FLAGS}"
|
LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${BASE_LINK_FLAGS}"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(test2
|
add_executable(test2
|
||||||
test2.cpp)
|
test2.cpp)
|
||||||
|
|
||||||
target_link_libraries(test2
|
target_link_libraries(test2
|
||||||
libcxx
|
cxx
|
||||||
mammoth_lib)
|
mammoth_lib)
|
||||||
|
|
||||||
set_target_properties(test2
|
set_target_properties(test2
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${_COMPILE_FLAGS}"
|
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILE_FLAGS}"
|
||||||
LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${_LINK_FLAGS}"
|
LINK_FLAGS "${CMAKE_EXE_LINK_FLAGS} ${BASE_LINK_FLAGS}"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue