FindLibSquish.cmake 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. # Find the libsquish include files
  17. find_path(LIBSQUISH_INCLUDE_DIR
  18. NAMES "squish.h"
  19. PATHS "/usr/include"
  20. "/usr/local/include"
  21. "/sw/include"
  22. "/opt/include"
  23. "/opt/local/include"
  24. "/opt/csw/include"
  25. PATH_SUFFIXES "" "cppunit"
  26. )
  27. # Find the libsquish library built for release
  28. find_library(LIBSQUISH_RELEASE_LIBRARY
  29. NAMES "squish" "libsquish"
  30. PATHS "/usr"
  31. "/usr/local"
  32. "/usr/freeware"
  33. "/sw"
  34. "/opt"
  35. "/opt/csw"
  36. PATH_SUFFIXES "lib" "lib32" "lib64"
  37. )
  38. # Find the libsquish library built for debug
  39. find_library(LIBSQUISH_DEBUG_LIBRARY
  40. NAMES "squishd" "libsquishd"
  41. PATHS "/usr"
  42. "/usr/local"
  43. "/usr/freeware"
  44. "/sw"
  45. "/opt"
  46. "/opt/csw"
  47. PATH_SUFFIXES "lib" "lib32" "lib64"
  48. )
  49. mark_as_advanced(LIBSQUISH_INCLUDE_DIR)
  50. mark_as_advanced(LIBSQUISH_RELEASE_LIBRARY)
  51. mark_as_advanced(LIBSQUISH_DEBUG_LIBRARY)
  52. # Choose library
  53. if(CMAKE_BUILD_TYPE MATCHES "Debug" AND LIBSQUISH_DEBUG_LIBRARY)
  54. set(LIBSQUISH_LIBRARY ${LIBSQUISH_DEBUG_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.")
  55. elseif(LIBSQUISH_RELEASE_LIBRARY)
  56. set(LIBSQUISH_LIBRARY ${LIBSQUISH_RELEASE_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.")
  57. elseif(LIBSQUISH_DEBUG_LIBRARY)
  58. set(LIBSQUISH_LIBRARY ${LIBSQUISH_DEBUG_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.")
  59. endif()
  60. # Translate library into library directory
  61. if(LIBSQUISH_LIBRARY)
  62. unset(LIBSQUISH_LIBRARY_DIR CACHE)
  63. get_filename_component(LIBSQUISH_LIBRARY_DIR "${LIBSQUISH_LIBRARY}" PATH)
  64. set(LIBSQUISH_LIBRARY_DIR "${LIBSQUISH_LIBRARY_DIR}" CACHE PATH "The path to libsquish's library directory.") # Library path
  65. endif()
  66. mark_as_advanced(LIBSQUISH_LIBRARY)
  67. mark_as_advanced(LIBSQUISH_LIBRARY_DIR)
  68. include(FindPackageHandleStandardArgs)
  69. find_package_handle_standard_args(LibSquish DEFAULT_MSG LIBSQUISH_LIBRARY LIBSQUISH_INCLUDE_DIR LIBSQUISH_LIBRARY_DIR)