| macro (_CHECK_CPU_ARCH ARCH ARCH_DEFINES VARIABLE) | |
| if (NOT DEFINED HAVE_${VARIABLE}) | |
| message (STATUS "Check CPU architecture is ${ARCH}") | |
| set (CHECK_CPU_ARCH_DEFINES ${ARCH_DEFINES}) | |
| configure_file (${PROJECT_SOURCE_DIR}/cmake/CheckCPUArch.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c @ONLY) | |
| try_compile (HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}" | |
| "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c") | |
| if(HAVE_${VARIABLE}) | |
| message (STATUS "Check CPU architecture is ${ARCH} - yes") | |
| set (${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_CPU_ARCH_X64" FORCE) | |
| else () | |
| message (STATUS "Check CPU architecture is ${ARCH} - no") | |
| endif () | |
| endif () | |
| endmacro (_CHECK_CPU_ARCH) | |
| macro (CHECK_CPU_ARCH_X64 VARIABLE) | |
| _CHECK_CPU_ARCH (x64 "defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)" ${VARIABLE}) | |
| endmacro (CHECK_CPU_ARCH_X64) | |
| macro (CHECK_CPU_ARCH_X86 VARIABLE) | |
| _CHECK_CPU_ARCH (x86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)" ${VARIABLE}) | |
| endmacro (CHECK_CPU_ARCH_X86) |