FindIcuLinux.cmake 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. # - Find static icu libraries
  2. # Find the native static icu libraries (needed for static boost_locale :/ ).
  3. # This module defines
  4. # ICU_LIBRARIES, libraries to link against to use icu.
  5. # ICU_ROOT_DIR, The base directory to search for icu.
  6. # This can also be an environment variable.
  7. # ICU_FOUND, If false, do not try to use icu.
  8. #
  9. # also defined, but not for general use are
  10. # ICU_LIBRARY_xxx, where to find the icu libraries.
  11. #=============================================================================
  12. # Copyright 2012 Blender Foundation.
  13. #
  14. # Distributed under the OSI-approved BSD License (the "License");
  15. # see accompanying file Copyright.txt for details.
  16. #
  17. # This software is distributed WITHOUT ANY WARRANTY; without even the
  18. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  19. # See the License for more information.
  20. #=============================================================================
  21. # If ICU_ROOT_DIR was defined in the environment, use it.
  22. IF(NOT ICU_ROOT_DIR AND NOT $ENV{ICU_ROOT_DIR} STREQUAL "")
  23. SET(ICU_ROOT_DIR $ENV{ICU_ROOT_DIR})
  24. ENDIF()
  25. if(Boost_USE_STATIC_LIBS)
  26. set(_icu_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
  27. set(CMAKE_FIND_LIBRARY_SUFFIXES .a)
  28. endif()
  29. SET(_icu_SEARCH_DIRS
  30. ${ICU_ROOT_DIR}
  31. /usr/local
  32. /sw # Fink
  33. /opt/local # DarwinPorts
  34. )
  35. # We don't need includes, only libs to link against...
  36. #FIND_PATH(ICU_INCLUDE_DIR
  37. # NAMES
  38. # utf.h
  39. # HINTS
  40. # ${_icu_SEARCH_DIRS}
  41. # PATH_SUFFIXES
  42. # include/unicode
  43. #)
  44. FIND_LIBRARY(ICU_LIBRARY_DATA
  45. NAMES
  46. icudata
  47. HINTS
  48. ${_icu_SEARCH_DIRS}
  49. PATH_SUFFIXES
  50. lib64 lib
  51. )
  52. FIND_LIBRARY(ICU_LIBRARY_I18N
  53. NAMES
  54. icui18n
  55. HINTS
  56. ${_icu_SEARCH_DIRS}
  57. PATH_SUFFIXES
  58. lib64 lib
  59. )
  60. FIND_LIBRARY(ICU_LIBRARY_IO
  61. NAMES
  62. icuio
  63. HINTS
  64. ${_icu_SEARCH_DIRS}
  65. PATH_SUFFIXES
  66. lib64 lib
  67. )
  68. FIND_LIBRARY(ICU_LIBRARY_LE
  69. NAMES
  70. icule
  71. HINTS
  72. ${_icu_SEARCH_DIRS}
  73. PATH_SUFFIXES
  74. lib64 lib
  75. )
  76. FIND_LIBRARY(ICU_LIBRARY_LX
  77. NAMES
  78. iculx
  79. HINTS
  80. ${_icu_SEARCH_DIRS}
  81. PATH_SUFFIXES
  82. lib64 lib
  83. )
  84. FIND_LIBRARY(ICU_LIBRARY_TU
  85. NAMES
  86. icutu
  87. HINTS
  88. ${_icu_SEARCH_DIRS}
  89. PATH_SUFFIXES
  90. lib64 lib
  91. )
  92. FIND_LIBRARY(ICU_LIBRARY_UC
  93. NAMES
  94. icuuc
  95. HINTS
  96. ${_icu_SEARCH_DIRS}
  97. PATH_SUFFIXES
  98. lib64 lib
  99. )
  100. # Restore the original find library ordering
  101. if(Boost_USE_STATIC_LIBS)
  102. set(CMAKE_FIND_LIBRARY_SUFFIXES ${_icu_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
  103. endif()
  104. # handle the QUIETLY and REQUIRED arguments and set ICU_FOUND to TRUE if
  105. # all listed variables are TRUE
  106. INCLUDE(FindPackageHandleStandardArgs)
  107. FIND_PACKAGE_HANDLE_STANDARD_ARGS(Icu DEFAULT_MSG
  108. ICU_LIBRARY_DATA
  109. ICU_LIBRARY_I18N
  110. ICU_LIBRARY_IO
  111. ICU_LIBRARY_LE
  112. ICU_LIBRARY_LX
  113. ICU_LIBRARY_TU
  114. ICU_LIBRARY_UC
  115. )
  116. IF(ICU_FOUND)
  117. SET(ICU_LIBRARIES ${ICU_LIBRARY_DATA} ${ICU_LIBRARY_I18N} ${ICU_LIBRARY_IO} ${ICU_LIBRARY_LE} ${ICU_LIBRARY_LX} ${ICU_LIBRARY_TU} ${ICU_LIBRARY_UC})
  118. SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
  119. ENDIF(ICU_FOUND)
  120. MARK_AS_ADVANCED(
  121. ICU_INCLUDE_DIR
  122. ICU_LIBRARY_DATA
  123. ICU_LIBRARY_I18N
  124. ICU_LIBRARY_IO
  125. ICU_LIBRARY_LE
  126. ICU_LIBRARY_LX
  127. ICU_LIBRARY_TU
  128. ICU_LIBRARY_UC
  129. )