1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4
5if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
6  # Old CMake versions did not support OS X universal binaries anyway,
7  # so just get through this with at least some size for the types.
8  list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHS)
9  if(${NUM_ARCHS} GREATER 1)
10    if(NOT DEFINED CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
11      message(WARNING "This module does not work with OS X universal binaries.")
12      set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES 1)
13      list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
14    endif()
15  endif()
16
17  include (CheckTypeSize)
18  CHECK_TYPE_SIZE(int      CMAKE_SIZEOF_INT)
19  CHECK_TYPE_SIZE(long     CMAKE_SIZEOF_LONG)
20  CHECK_TYPE_SIZE("void*"  CMAKE_SIZEOF_VOID_P)
21  CHECK_TYPE_SIZE(char     CMAKE_SIZEOF_CHAR)
22  CHECK_TYPE_SIZE(short    CMAKE_SIZEOF_SHORT)
23  CHECK_TYPE_SIZE(float    CMAKE_SIZEOF_FLOAT)
24  CHECK_TYPE_SIZE(double   CMAKE_SIZEOF_DOUBLE)
25
26  include (CheckIncludeFile)
27  CHECK_INCLUDE_FILE("limits.h"       CMAKE_HAVE_LIMITS_H)
28  CHECK_INCLUDE_FILE("unistd.h"       CMAKE_HAVE_UNISTD_H)
29  CHECK_INCLUDE_FILE("pthread.h"      CMAKE_HAVE_PTHREAD_H)
30
31  include (CheckIncludeFiles)
32  CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h"    CMAKE_HAVE_SYS_PRCTL_H)
33
34  include (TestBigEndian)
35  TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
36  include (FindX11)
37
38  if("${X11_X11_INCLUDE_PATH}" STREQUAL "/usr/include")
39    set (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
40  else()
41    set (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
42         "X11 extra flags.")
43  endif()
44  set (CMAKE_X_LIBS "${X11_LIBRARIES}" CACHE STRING
45       "Libraries and options used in X11 programs.")
46  set (CMAKE_HAS_X "${X11_FOUND}" CACHE INTERNAL "Is X11 around.")
47
48  include (FindThreads)
49
50  set (CMAKE_THREAD_LIBS        "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING
51    "Thread library used.")
52
53  set (CMAKE_USE_PTHREADS       "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL
54     "Use the pthreads library.")
55
56  set (CMAKE_USE_WIN32_THREADS  "${CMAKE_USE_WIN32_THREADS_INIT}" CACHE BOOL
57       "Use the win32 thread library.")
58
59  set (CMAKE_HP_PTHREADS        ${CMAKE_HP_PTHREADS_INIT} CACHE BOOL
60     "Use HP pthreads.")
61
62  if(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
63    set(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
64    set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
65  endif()
66endif()
67
68mark_as_advanced(
69CMAKE_HP_PTHREADS
70CMAKE_THREAD_LIBS
71CMAKE_USE_PTHREADS
72CMAKE_USE_WIN32_THREADS
73CMAKE_X_CFLAGS
74CMAKE_X_LIBS
75)
76
77