diff --git a/CMakeLists.txt b/CMakeLists.txt index 264eafcf4bb0f3e401fa47866027f78d61a8ab14..f9f56bf262f0797a14f0118d6a13911678dbbd1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,16 +123,12 @@ target_include_directories(shadertoy PRIVATE ${SOIL_INCLUDE_DIRS} ${JPEG_INCLUDE_DIRS}) -if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64") - set(UNWIND_ARCH "x86_64") -elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") - set(UNWIND_ARCH "x86") -else() - if (UNWIND_FOUND) - message("-- Unsupported architecture for libunwind") - set(UNWIND_ARCH OFF) - endif() -endif() +execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} -dumpmachine + OUTPUT_VARIABLE COMPILER_ARCH + OUTPUT_STRIP_TRAILING_WHITESPACE) +string(REPLACE "-" ";" COMPILER_ARCH_LIST ${COMPILER_ARCH}) +list(GET COMPILER_ARCH_LIST 0 COMPILER_ARCH_NAME) +string(REGEX REPLACE "i.86" "x86" UNWIND_ARCH ${COMPILER_ARCH_NAME}) # Add UNWIND if found if (UNWIND_FOUND AND UNWIND_ARCH)