Fix libbacktrace on macos

This commit is contained in:
Nikita Lisitsa 2026-07-01 12:45:32 +03:00
parent 77d359fa52
commit 850e376e62
2 changed files with 8 additions and 1 deletions

View file

@ -16,8 +16,12 @@ if(PSEMEK_STACKTRACE)
execute_process(COMMAND "./configure" "--host=x86_64-w64-mingw32" "CC=${CMAKE_C_COMPILER}" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}" COMMAND_ECHO STDOUT)
elseif(PSEMEK_PACKAGE_TARGET AND ANDROID)
execute_process(COMMAND "./configure" "--host=aarch64-none-linux-android34" "CC=${CMAKE_C_COMPILER}" "CFLAGS=--target=aarch64-none-linux-android34" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}" COMMAND_ECHO STDOUT)
else()
elseif(APPLE)
execute_process(COMMAND "./configure" "CC=${CMAKE_C_COMPILER} -isysroot ${CMAKE_OSX_SYSROOT}" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}" COMMAND_ECHO STDOUT)
elseif(UNIX)
execute_process(COMMAND "./configure" "CC=${CMAKE_C_COMPILER}" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}" COMMAND_ECHO STDOUT)
else()
message(FATAL "Unknown platform")
endif()
execute_process(COMMAND "make" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}" RESULT_VARIABLE LIBBACKTRACE_BUILD_RESULT COMMAND_ECHO STDOUT)
if(NOT (${LIBBACKTRACE_BUILD_RESULT} EQUAL 0))

View file

@ -12,6 +12,9 @@ target_link_libraries(psemek-util PUBLIC ${CMAKE_THREAD_LIBS_INIT} Boost::boost)
if(PSEMEK_STACKTRACE)
target_link_libraries(psemek-util PUBLIC libbacktrace)
target_compile_definitions(psemek-util PUBLIC "-DBOOST_STACKTRACE_USE_BACKTRACE")
if(APPLE)
target_compile_definitions(psemek-util PUBLIC "-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED")
endif()
endif()
psemek_glob_tests(psemek-util tests)