From b1170bcc2e54b428ed0fa63802c0aced62b4b8c7 Mon Sep 17 00:00:00 2001 From: Konstantinos Margaritis Date: Tue, 6 Oct 2020 08:09:18 +0300 Subject: [PATCH] add arm checks in platform.cmake --- cmake/platform.cmake | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cmake/platform.cmake b/cmake/platform.cmake index 593c544b..8c82da2b 100644 --- a/cmake/platform.cmake +++ b/cmake/platform.cmake @@ -1,9 +1,15 @@ # determine the target arch # really only interested in the preprocessor here -CHECK_C_SOURCE_COMPILES("#if !(defined(__x86_64__) || defined(_M_X64))\n#error not 64bit\n#endif\nint main(void) { return 0; }" ARCH_64_BIT) +CHECK_C_SOURCE_COMPILES("#if !(defined(__x86_64__) || defined(_M_X64))\n#error not 64bit\n#endif\nint main(void) { return 0; }" ARCH_X86_64) -CHECK_C_SOURCE_COMPILES("#if !(defined(__i386__) || defined(_M_IX86))\n#error not 64bit\n#endif\nint main(void) { return 0; }" ARCH_32_BIT) +CHECK_C_SOURCE_COMPILES("#if !(defined(__i386__) || defined(_M_IX86))\n#error not 32bit\n#endif\nint main(void) { return 0; }" ARCH_IA32) -set(ARCH_X86_64 ${ARCH_64_BIT}) -set(ARCH_IA32 ${ARCH_32_BIT}) +CHECK_C_SOURCE_COMPILES("#if !defined(__aarch64__)\n#error not 64bit\n#endif\nint main(void) { return 0; }" ARCH_ARM64) +CHECK_C_SOURCE_COMPILES("#if !(defined(__arm__) && !defined(__aarch64__))\n#error not 32bit\n#endif\nint main(void) { return 0; }" ARCH_ARM32) + +if (DEFINED(ARCH_X86_64) OR DEFINED(ARCH_ARM64)) + set(ARCH_64_BIT TRUE) +else() + set(ARCH_32_BIT TRUE) +endif()