1
0

CMakeBackwardCompatibilityC.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #=============================================================================
  2. # Copyright 2002-2009 Kitware, Inc.
  3. #
  4. # Distributed under the OSI-approved BSD License (the "License");
  5. # see accompanying file Copyright.txt for details.
  6. #
  7. # This software is distributed WITHOUT ANY WARRANTY; without even the
  8. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. # See the License for more information.
  10. #=============================================================================
  11. # (To distribute this file outside of CMake, substitute the full
  12. # License text for the above reference.)
  13. # Nothing here yet
  14. IF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
  15. INCLUDE(CMakeVS7BackwardCompatibility)
  16. SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
  17. ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
  18. IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
  19. INCLUDE(CMakeVS6BackwardCompatibility)
  20. SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
  21. ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
  22. IF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
  23. # Old CMake versions did not support OS X universal binaries anyway,
  24. # so just get through this with at least some size for the types.
  25. LIST(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHS)
  26. IF(${NUM_ARCHS} GREATER 1)
  27. IF(NOT DEFINED CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
  28. MESSAGE(WARNING "This module does not work with OS X universal binaries.")
  29. SET(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES 1)
  30. LIST(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
  31. ENDIF()
  32. ENDIF()
  33. INCLUDE (CheckTypeSize)
  34. CHECK_TYPE_SIZE(int CMAKE_SIZEOF_INT)
  35. CHECK_TYPE_SIZE(long CMAKE_SIZEOF_LONG)
  36. CHECK_TYPE_SIZE("void*" CMAKE_SIZEOF_VOID_P)
  37. CHECK_TYPE_SIZE(char CMAKE_SIZEOF_CHAR)
  38. CHECK_TYPE_SIZE(short CMAKE_SIZEOF_SHORT)
  39. CHECK_TYPE_SIZE(float CMAKE_SIZEOF_FLOAT)
  40. CHECK_TYPE_SIZE(double CMAKE_SIZEOF_DOUBLE)
  41. INCLUDE (CheckIncludeFile)
  42. CHECK_INCLUDE_FILE("limits.h" CMAKE_HAVE_LIMITS_H)
  43. CHECK_INCLUDE_FILE("unistd.h" CMAKE_HAVE_UNISTD_H)
  44. CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
  45. INCLUDE (CheckIncludeFiles)
  46. CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h" CMAKE_HAVE_SYS_PRCTL_H)
  47. INCLUDE (TestBigEndian)
  48. TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
  49. INCLUDE (FindX11)
  50. IF("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
  51. SET (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
  52. ELSE("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
  53. SET (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
  54. "X11 extra flags.")
  55. ENDIF("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
  56. SET (CMAKE_X_LIBS "${X11_LIBRARIES}" CACHE STRING
  57. "Libraries and options used in X11 programs.")
  58. SET (CMAKE_HAS_X "${X11_FOUND}" CACHE INTERNAL "Is X11 around.")
  59. INCLUDE (FindThreads)
  60. SET (CMAKE_THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING
  61. "Thread library used.")
  62. SET (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL
  63. "Use the pthreads library.")
  64. SET (CMAKE_USE_WIN32_THREADS "${CMAKE_USE_WIN32_THREADS_INIT}" CACHE BOOL
  65. "Use the win32 thread library.")
  66. SET (CMAKE_HP_PTHREADS ${CMAKE_HP_PTHREADS_INIT} CACHE BOOL
  67. "Use HP pthreads.")
  68. SET (CMAKE_USE_SPROC ${CMAKE_USE_SPROC_INIT} CACHE BOOL
  69. "Use sproc libs.")
  70. IF(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
  71. SET(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
  72. SET(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
  73. ENDIF()
  74. ENDIF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
  75. MARK_AS_ADVANCED(
  76. CMAKE_HP_PTHREADS
  77. CMAKE_THREAD_LIBS
  78. CMAKE_USE_PTHREADS
  79. CMAKE_USE_SPROC
  80. CMAKE_USE_WIN32_THREADS
  81. CMAKE_X_CFLAGS
  82. CMAKE_X_LIBS
  83. )