summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@codelibre.net>2021-02-06 22:37:29 +0000
committerRoger Leigh <rleigh@codelibre.net>2021-02-13 12:24:53 +0000
commitfc96f83a0f7a69e3e4c2d74952331b3bac7568ea (patch)
treea12963fd0c7c42f43defd70873240547ef778994 /cmake
parent59b4132af6d16941748c557ce697bb88ac59cbc3 (diff)
downloadlibtiff-git-fc96f83a0f7a69e3e4c2d74952331b3bac7568ea.tar.gz
cmake: Move processor capability checks to ProcessorChecks.cmake
Diffstat (limited to 'cmake')
-rw-r--r--cmake/ProcessorChecks.cmake47
1 files changed, 47 insertions, 0 deletions
diff --git a/cmake/ProcessorChecks.cmake b/cmake/ProcessorChecks.cmake
new file mode 100644
index 00000000..8d8c568a
--- /dev/null
+++ b/cmake/ProcessorChecks.cmake
@@ -0,0 +1,47 @@
+# Processor capability checks
+#
+# Copyright © 2015 Open Microscopy Environment / University of Dundee
+# Copyright © 2021 Roger Leigh <rleigh@codelibre.net>
+# Written by Roger Leigh <rleigh@codelibre.net>
+#
+# Permission to use, copy, modify, distribute, and sell this software and
+# its documentation for any purpose is hereby granted without fee, provided
+# that (i) the above copyright notices and this permission notice appear in
+# all copies of the software and related documentation, and (ii) the names of
+# Sam Leffler and Silicon Graphics may not be used in any advertising or
+# publicity relating to the software without the specific, prior written
+# permission of Sam Leffler and Silicon Graphics.
+#
+# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+#
+# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+# OF THIS SOFTWARE.
+
+
+include(TestBigEndian)
+
+
+# CPU bit order
+set(HOST_FILLORDER FILLORDER_MSB2LSB)
+if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i.*86.*" OR
+ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*" OR
+ # AMD64 on Windows
+ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "AMD64" OR
+ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64.*")
+ set(HOST_FILLORDER FILLORDER_LSB2MSB)
+endif()
+
+# CPU endianness
+test_big_endian(HOST_BIG_ENDIAN)
+if(HOST_BIG_ENDIAN)
+ add_definitions(-DWORDS_BIGENDIAN)
+endif()
+
+# IEEE floating point
+set(HAVE_IEEEFP 1)