From 850e376e629cd6970ec7c2c738dae159cbbfebb3 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 1 Jul 2026 12:45:32 +0300 Subject: [PATCH] Fix libbacktrace on macos --- 3rdparty/CMakeLists.txt | 6 +++++- libs/util/CMakeLists.txt | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index cf8a7a4d..b6a9cb5b 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -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)) diff --git a/libs/util/CMakeLists.txt b/libs/util/CMakeLists.txt index a900afa6..5a75457b 100644 --- a/libs/util/CMakeLists.txt +++ b/libs/util/CMakeLists.txt @@ -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)