@ -45,31 +45,26 @@ function (die msg)
message ( FATAL_ERROR "${BoldRed}${msg}${ColourReset}" )
message ( FATAL_ERROR "${BoldRed}${msg}${ColourReset}" )
endfunction ( )
endfunction ( )
if ( "${ARCH}" STREQUAL "" OR "${ARCH}" STREQUAL "native" )
# A R C H d e f i n e s t h e t a r g e t a r c h i t e c t u r e , e i t h e r b y a n e x p l i c i t i d e n t i f i e r o r
set ( ARCH ${ CMAKE_SYSTEM_PROCESSOR } )
# o n e o f t h e f o l l o w i n g t w o k e y w o r d s . B y d e f a u l t , A R C H a v a l u e o f ' n a t i v e ' :
message ( STATUS "Building natively on ${ARCH}" )
# t a r g e t a r c h = h o s t a r c h , b i n a r y i s n o t p o r t a b l e . W h e n A R C H i s s e t t o t h e
# s t r i n g ' d e f a u l t ' , n o - m a r c h a r g i s p a s s e d , w h i c h c r e a t e s a b i n a r y t h a t i s
# p o r t a b l e a c r o s s p r o c e s s o r s i n t h e s a m e f a m i l y a s h o s t p r o c e s s o r . I n c a s e s
# w h e n A R C H i s n o t s e t t o a n e x p l i c i t i d e n t i f i e r , c m a k e ' s b u i l t i n i s u s e d
# t o i d e n t i f y t h e t a r g e t a r c h i t e c t u r e , t o d i r e c t l o g i c i n t h i s c m a k e s c r i p t .
# S i n c e A R C H i s a c a c h e d v a r i a b l e , i t w i l l n o t b e s e t o n f i r s t c m a k e i n v o c a t i o n .
if ( NOT ARCH OR ARCH STREQUAL "" OR ARCH STREQUAL "native" OR ARCH STREQUAL "default" )
set ( ARCH_ID "${CMAKE_SYSTEM_PROCESSOR}" )
else ( )
set ( ARCH_ID "${ARCH}" )
endif ( )
endif ( )
string ( SUBSTRING ${ ARCH_ID } 0 5 ARM_TEST )
if ( NOT "${ARCH}" STREQUAL "" )
string ( TOLOWER ${ ARM_TEST } ARM_TEST )
string ( SUBSTRING ${ ARCH } 0 3 IS_ARM )
if ( ${ ARM_TEST } STREQUAL "armv6" )
string ( TOLOWER ${ IS_ARM } IS_ARM )
set ( ARM6 1 )
endif ( )
if ( ${ IS_ARM } STREQUAL "arm" )
if ( ${ ARM_TEST } STREQUAL "armv7" )
string ( SUBSTRING ${ ARCH } 0 5 ARM_TEST )
set ( ARM7 1 )
string ( TOLOWER ${ ARM_TEST } ARM_TEST )
if ( ${ ARM_TEST } STREQUAL "armv6" )
set ( ARM6 1 )
else ( )
set ( ARM6 0 )
endif ( )
if ( ${ ARM_TEST } STREQUAL "armv7" )
set ( ARM7 1 )
else ( )
set ( ARM7 0 )
endif ( )
endif ( )
endif ( )
endif ( )
if ( WIN32 OR ARM7 OR ARM6 )
if ( WIN32 OR ARM7 OR ARM6 )
@ -312,9 +307,9 @@ if(MSVC)
endif ( )
endif ( )
include_directories ( SYSTEM src/platform/msc )
include_directories ( SYSTEM src/platform/msc )
else ( )
else ( )
set ( ARCH native CACHE STRING "CPU to build for: -march value or default")
set ( ARCH native CACHE STRING "CPU to build for: -march value or ' default' to not pass -march at all ")
# - m a r c h = a r m v 7 - a c o n f l i c t s w i t h - m c p u = c o r t e x - a 7
message ( STATUS "Building on ${CMAKE_SYSTEM_PROCESSOR} for ${ARCH}" )
if ( ARCH STREQUAL "default" OR ARM7 OR ARM6 )
if ( ARCH STREQUAL "default" )
set ( ARCH_FLAG "" )
set ( ARCH_FLAG "" )
else ( )
else ( )
if ( ARCH STREQUAL "x86_64" )
if ( ARCH STREQUAL "x86_64" )