mirror of
https://github.com/darlinghq/darling-libunwind.git
synced 2024-12-04 02:31:13 +00:00
2708dbea23
Based on libunwind-35.4
45 lines
1.4 KiB
CMake
45 lines
1.4 KiB
CMake
project(darling-libsystem_unwind)
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
enable_language(C ASM)
|
|
|
|
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 0)
|
|
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
|
|
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc -nostdinc++ -fno-rtti -fno-exceptions -funwind-tables -ggdb -O0")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse -msse2 -msse3 -w -nostdinc -fno-rtti -funwind-tables -ggdb -O0")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__DARWIN_UNIX03 -fPIC -w")
|
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib -Wl,-flat_namespace -Wl,-undefined,suppress")
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/)
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
set(libunwind_sources
|
|
src/libuwind.cxx
|
|
src/Registers.S
|
|
src/unw_getcontext.S
|
|
src/UnwindLevel1.c
|
|
src/UnwindLevel1-gcc-ext.c
|
|
src/Unwind-sjlj.c
|
|
)
|
|
|
|
set(DYLIB_INSTALL_NAME "/usr/lib/system/libunwind.dylib")
|
|
add_circular(unwind FAT
|
|
SOURCES
|
|
${libunwind_sources}
|
|
SIBLINGS
|
|
system_c
|
|
keymgr
|
|
)
|
|
#target_link_libraries(unwind PRIVATE system_c keymgr)
|
|
#set_target_properties(unwind PROPERTIES LINKER_LANGUAGE C)
|
|
#make_fat(unwind)
|
|
|
|
include(darling_static_lib)
|
|
add_darling_static_library(unwind_static SOURCES ${libunwind_sources})
|
|
set_target_properties(unwind_static PROPERTIES COMPILE_FLAGS "-DNDEBUG=1")
|
|
make_fat(unwind_static)
|
|
|
|
install(TARGETS unwind DESTINATION libexec/darling/usr/lib/system)
|