cmake_minimum_required(VERSION 3.5) project(cmTest) #Detect processor if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "amd64") SET(TEST_PROCESSOR "x86_64") elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64") SET(TEST_PROCESSOR "x86_64") elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i386") SET(TEST_PROCESSOR "x86") elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i686") SET(TEST_PROCESSOR "x86") elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") SET(TEST_PROCESSOR "arm") elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64") SET(TEST_PROCESSOR "arm") else () message(FATAL_ERROR, 'MESON_SKIP_TEST: Unsupported Assembler Platform') endif () #Detect ABI if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") SET(TEST_ABI "sysv") elseif ("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD") SET(TEST_ABI "sysv") elseif ("${CMAKE_SYSTEM_NAME}" MATCHES "NetBSD") SET(TEST_ABI "sysv") elseif ("${CMAKE_SYSTEM_NAME}" MATCHES "OpenBSD") SET(TEST_ABI "sysv") else () message(FATAL_ERROR, 'MESON_SKIP_TEST: Unsupported Assembler Platform') endif () SET(TEST_PLATFORM "${TEST_PROCESSOR}-${TEST_ABI}") if ( ("${TEST_PLATFORM}" MATCHES "x86_64-sysv") OR ("${TEST_PLATFORM}" MATCHES "x86-sysv") OR ("${TEST_PLATFORM}" MATCHES "arm-sysv")) SET(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) enable_language(ASM) SET(TEST_SOURCE "cmTestAsm.s") endif () add_library(cmTest STATIC cmTest.c ${TEST_SOURCE})