1
0

FindX11.cmake 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #
  2. # try to find X11 on UNIX systems.
  3. #
  4. # The following values are defined
  5. # CMAKE_X11_INCLUDE_PATH - where to find X11.h
  6. # CMAKE_X_LIBS - link against these to use X11
  7. # CMAKE_HAS_X - True if X11 is available
  8. # CMAKE_X11_LIBDIR - Directory with X11 library
  9. # CMAKE_Xext_LIBDIR - Directory with Xext library
  10. IF (UNIX)
  11. SET(CMAKE_X_PRE_LIBS "")
  12. SET(CMAKE_X_REAL_LIBS "")
  13. SET(CMAKE_X_EXTRA_LIBS "")
  14. SET(CMAKE_X_EXTRA_LIBS "")
  15. SET(CMAKE_HAS_X 0)
  16. FIND_PATH(CMAKE_X11_INCLUDE_PATH X11/X.h
  17. /usr/include
  18. /usr/local/include
  19. /usr/openwin/include
  20. /usr/openwin/share/include
  21. /usr/X11R6/include
  22. /usr/include/X11
  23. /opt/graphics/OpenGL/include
  24. )
  25. FIND_PATH(CMAKE_Xlib_INCLUDE_PATH X11/Xlib.h
  26. /usr/include
  27. /usr/local/include
  28. /usr/openwin/include
  29. /usr/openwin/share/include
  30. /usr/X11R6/include
  31. /usr/include/X11
  32. /opt/graphics/OpenGL/include
  33. )
  34. FIND_PATH(CMAKE_Xutil_INCLUDE_PATH X11/Xutil.h
  35. /usr/include
  36. /usr/local/include
  37. /usr/openwin/include
  38. /usr/openwin/share/include
  39. /usr/X11R6/include
  40. /usr/include/X11
  41. /opt/graphics/OpenGL/include
  42. )
  43. IF(CMAKE_X11_INCLUDE_PATH)
  44. SET(CMAKE_X11_INCLUDES "${CMAKE_X11_INCLUDES};${CMAKE_X11_INCLUDE_PATH}")
  45. ENDIF(CMAKE_X11_INCLUDE_PATH)
  46. IF(CMAKE_Xlib_INCLUDE_PATH)
  47. SET(CMAKE_X11_INCLUDES "${CMAKE_X11_INCLUDES};${CMAKE_Xlib_INCLUDE_PATH}")
  48. ENDIF(CMAKE_Xlib_INCLUDE_PATH)
  49. IF(CMAKE_Xutil_INCLUDE_PATH)
  50. SET(CMAKE_X11_INCLUDES "${CMAKE_X11_INCLUDES};${CMAKE_Xutil_INCLUDE_PATH}")
  51. ENDIF(CMAKE_Xutil_INCLUDE_PATH)
  52. FIND_LIBRARY(CMAKE_X11_LIBDIR X11
  53. /usr/lib
  54. /usr/local/lib
  55. /usr/openwin/lib
  56. /usr/X11R6/lib
  57. )
  58. FIND_LIBRARY(CMAKE_Xext_LIBDIR Xext
  59. /usr/lib
  60. /usr/local/lib
  61. /usr/openwin/lib
  62. /usr/X11R6/lib
  63. )
  64. IF(CMAKE_X11_INCLUDE_PATH)
  65. IF(CMAKE_X11_LIBDIR)
  66. SET( CMAKE_X_LIBS "${CMAKE_X_LIBS};${CMAKE_X11_LIBDIR}" )
  67. ENDIF(CMAKE_X11_LIBDIR)
  68. IF(CMAKE_Xext_LIBDIR)
  69. SET( CMAKE_X_LIBS "${CMAKE_X_LIBS};${CMAKE_Xext_LIBDIR}" )
  70. ENDIF(CMAKE_Xext_LIBDIR)
  71. ENDIF(CMAKE_X11_INCLUDE_PATH)
  72. # Deprecated variable fro backwards compatibility with CMake 1.4
  73. IF(CMAKE_X11_INCLUDE_PATH)
  74. IF(CMAKE_X_LIBS)
  75. SET(CMAKE_HAS_X 1)
  76. ENDIF(CMAKE_X_LIBS)
  77. ENDIF(CMAKE_X11_INCLUDE_PATH)
  78. IF(CMAKE_HAS_X)
  79. INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
  80. CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" CMAKE_HAVE_GETHOSTBYNAME)
  81. IF (CMAKE_HAVE_GETHOSTBYNAME)
  82. SET (CMAKE_X_EXTRA_LIBS "${CMAKE_X_EXTRA_LIBS};-lnsl")
  83. ENDIF (CMAKE_HAVE_GETHOSTBYNAME)
  84. CHECK_LIBRARY_EXISTS("socket" "connect" "" CMAKE_HAVE_SOCKET_LIBRARY)
  85. IF (CMAKE_HAVE_SOCKET_LIBRARY)
  86. SET (CMAKE_X_EXTRA_LIBS "${CMAKE_X_EXTRA_LIBS};-lsocket")
  87. ENDIF (CMAKE_HAVE_SOCKET_LIBRARY)
  88. SET (CMAKE_X_LIBS "${CMAKE_X_PRE_LIBS};${CMAKE_X_LIBS};${CMAKE_X_EXTRA_LIBS}"
  89. CACHE STRING
  90. "Libraries and options used in X11 programs.")
  91. SET (CMAKE_X_CFLAGS "${CMAKE_X_CFLAGS}" CACHE STRING
  92. "X11 extra flags.")
  93. ENDIF(CMAKE_HAS_X)
  94. SET (CMAKE_HAS_X ${CMAKE_HAS_X} CACHE INTERNAL "Is X11 around.")
  95. MARK_AS_ADVANCED(
  96. CMAKE_X11_INCLUDE_PATH
  97. CMAKE_X11_LIBDIR
  98. CMAKE_Xext_LIBDIR
  99. CMAKE_Xlib_INCLUDE_PATH
  100. CMAKE_Xutil_INCLUDE_PATH
  101. )
  102. ENDIF (UNIX)