1# Processor capability checks
2#
3# Copyright © 2015 Open Microscopy Environment / University of Dundee
4# Copyright © 2021 Roger Leigh <rleigh@codelibre.net>
5# Written by Roger Leigh <rleigh@codelibre.net>
6#
7# Permission to use, copy, modify, distribute, and sell this software and
8# its documentation for any purpose is hereby granted without fee, provided
9# that (i) the above copyright notices and this permission notice appear in
10# all copies of the software and related documentation, and (ii) the names of
11# Sam Leffler and Silicon Graphics may not be used in any advertising or
12# publicity relating to the software without the specific, prior written
13# permission of Sam Leffler and Silicon Graphics.
14#
15# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
16# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
17# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
18#
19# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
20# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
21# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
22# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24# OF THIS SOFTWARE.
25
26
27include(TestBigEndian)
28
29
30# CPU bit order
31set(HOST_FILLORDER FILLORDER_MSB2LSB)
32if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i.*86.*" OR
33        CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*" OR
34        # AMD64 on Windows
35        CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "AMD64" OR
36        CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64.*")
37    set(HOST_FILLORDER FILLORDER_LSB2MSB)
38endif()
39
40# CPU endianness
41test_big_endian(HOST_BIG_ENDIAN)
42if(HOST_BIG_ENDIAN)
43    add_definitions(-DWORDS_BIGENDIAN)
44endif()
45
46# IEEE floating point
47set(HAVE_IEEEFP 1)
48