FindLibSquish.cmake 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. # Filename: FindLibSquish.cmake
  2. # Author: kestred (7 Dec, 2013)
  3. #
  4. # Usage:
  5. # find_package(LibSquish [REQUIRED] [QUIET])
  6. #
  7. # Once done this will define:
  8. # LIBSQUISH_FOUND - system has libsquish
  9. # LIBSQUISH_INCLUDE_DIR - the libsquish include directory
  10. # LIBSQUISH_LIBRARY_DIR - the libsquish library directory
  11. # LIBSQUISH_LIBRARY - the path to the library binary
  12. #
  13. # LIBSQUISH_RELEASE_LIBRARY - the filepath of the libsquish release library
  14. # LIBSQUISH_DEBUG_LIBRARY - the filepath of the libsquish debug library
  15. #
  16. if(LibSquish_ROOT)
  17. # Search exclusively under the root
  18. find_path(LIBSQUISH_INCLUDE_DIR
  19. NAMES "squish.h"
  20. PATHS ${LibSquish_ROOT}
  21. PATH_SUFFIXES "include"
  22. )
  23. find_library(LIBSQUISH_RELEASE_LIBRARY
  24. NAMES "squish" "libsquish"
  25. PATHS ${LibSquish_ROOT}
  26. PATH_SUFFIXES "lib"
  27. )
  28. find_library(LIBSQUISH_DEBUG_LIBRARY
  29. NAMES "squishd" "libsquishd"
  30. PATHS ${LibSquish_ROOT}
  31. PATH_SUFFIXES "lib"
  32. )
  33. else()
  34. # Find the libsquish include files
  35. find_path(LIBSQUISH_INCLUDE_DIR
  36. NAMES "squish.h"
  37. PATHS "/usr/include"
  38. "/usr/local/include"
  39. "/sw/include"
  40. "/opt/include"
  41. "/opt/local/include"
  42. "/opt/csw/include"
  43. PATH_SUFFIXES "" "cppunit"
  44. )
  45. # Find the libsquish library built for release
  46. find_library(LIBSQUISH_RELEASE_LIBRARY
  47. NAMES "squish" "libsquish"
  48. PATHS "/usr"
  49. "/usr/local"
  50. "/usr/freeware"
  51. "/sw"
  52. "/opt"
  53. "/opt/csw"
  54. PATH_SUFFIXES "lib" "lib32" "lib64"
  55. )
  56. # Find the libsquish library built for debug
  57. find_library(LIBSQUISH_DEBUG_LIBRARY
  58. NAMES "squishd" "libsquishd"
  59. PATHS "/usr"
  60. "/usr/local"
  61. "/usr/freeware"
  62. "/sw"
  63. "/opt"
  64. "/opt/csw"
  65. PATH_SUFFIXES "lib" "lib32" "lib64"
  66. )
  67. endif()
  68. mark_as_advanced(LIBSQUISH_INCLUDE_DIR)
  69. mark_as_advanced(LIBSQUISH_RELEASE_LIBRARY)
  70. mark_as_advanced(LIBSQUISH_DEBUG_LIBRARY)
  71. # Choose library
  72. if(CMAKE_BUILD_TYPE MATCHES "Debug" AND LIBSQUISH_DEBUG_LIBRARY)
  73. set(LIBSQUISH_LIBRARY ${LIBSQUISH_DEBUG_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.")
  74. elseif(LIBSQUISH_RELEASE_LIBRARY)
  75. set(LIBSQUISH_LIBRARY ${LIBSQUISH_RELEASE_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.")
  76. elseif(LIBSQUISH_DEBUG_LIBRARY)
  77. set(LIBSQUISH_LIBRARY ${LIBSQUISH_DEBUG_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.")
  78. endif()
  79. # Translate library into library directory
  80. if(LIBSQUISH_LIBRARY)
  81. unset(LIBSQUISH_LIBRARY_DIR CACHE)
  82. get_filename_component(LIBSQUISH_LIBRARY_DIR "${LIBSQUISH_LIBRARY}" PATH)
  83. set(LIBSQUISH_LIBRARY_DIR "${LIBSQUISH_LIBRARY_DIR}" CACHE PATH "The path to libsquish's library directory.") # Library path
  84. endif()
  85. mark_as_advanced(LIBSQUISH_LIBRARY)
  86. mark_as_advanced(LIBSQUISH_LIBRARY_DIR)
  87. include(FindPackageHandleStandardArgs)
  88. find_package_handle_standard_args(LibSquish DEFAULT_MSG LIBSQUISH_LIBRARY LIBSQUISH_INCLUDE_DIR LIBSQUISH_LIBRARY_DIR)