FindSqlite3.cmake 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # Find Sqlite3
  2. # ~~~~~~~~~~~~
  3. # Copyright (c) 2007, Martin Dobias <wonder.sk at gmail.com>
  4. # Redistribution and use is allowed according to the terms of the BSD license.
  5. # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
  6. #
  7. # CMake module to search for Sqlite3 library
  8. #
  9. # If it's found it sets SQLITE3_FOUND to TRUE
  10. # and following variables are set:
  11. # SQLITE3_INCLUDE_DIR
  12. # SQLITE3_LIBRARY
  13. # FIND_PATH and FIND_LIBRARY normally search standard locations
  14. # before the specified paths. To search non-standard paths first,
  15. # FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
  16. # and then again with no specified paths to search the default
  17. # locations. When an earlier FIND_* succeeds, subsequent FIND_*s
  18. # searching for the same item do nothing.
  19. if(ANDROID)
  20. set(SQLITE3_INCLUDE_DIR ${OSGEO4A_STAGE_DIR}/${ANDROID_ABI}/include CACHE PATH "")
  21. set(SQLITE3_LIBRARY ${OSGEO4A_STAGE_DIR}/${ANDROID_ABI}/lib/libsqlite3.so CACHE PATH "")
  22. else()
  23. # try to use framework on mac
  24. # want clean framework path, not unix compatibility path
  25. IF (APPLE AND NOT QGIS_MAC_DEPS_DIR)
  26. IF (CMAKE_FIND_FRAMEWORK MATCHES "FIRST"
  27. OR CMAKE_FRAMEWORK_PATH MATCHES "ONLY"
  28. OR NOT CMAKE_FIND_FRAMEWORK)
  29. SET (CMAKE_FIND_FRAMEWORK_save ${CMAKE_FIND_FRAMEWORK} CACHE STRING "" FORCE)
  30. SET (CMAKE_FIND_FRAMEWORK "ONLY" CACHE STRING "" FORCE)
  31. #FIND_PATH(SQLITE3_INCLUDE_DIR SQLite3/sqlite3.h)
  32. FIND_LIBRARY(SQLITE3_LIBRARY SQLite3)
  33. IF (SQLITE3_LIBRARY)
  34. # FIND_PATH doesn't add "Headers" for a framework
  35. SET (SQLITE3_INCLUDE_DIR ${SQLITE3_LIBRARY}/Headers CACHE PATH "Path to a file.")
  36. ENDIF (SQLITE3_LIBRARY)
  37. SET (CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_save} CACHE STRING "" FORCE)
  38. ENDIF ()
  39. ENDIF (APPLE AND NOT QGIS_MAC_DEPS_DIR)
  40. # FIND_PATH and FIND_LIBRARY normally search standard locations
  41. # before the specified paths. To search non-standard paths first,
  42. # FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
  43. # and then again with no specified paths to search the default
  44. # locations. When an earlier FIND_* succeeds, subsequent FIND_*s
  45. # searching for the same item do nothing.
  46. FIND_PATH(SQLITE3_INCLUDE_DIR sqlite3.h
  47. "$ENV{LIB_DIR}/include"
  48. "$ENV{LIB_DIR}/include/sqlite"
  49. "$ENV{INCLUDE}"
  50. NO_DEFAULT_PATH
  51. )
  52. FIND_PATH(SQLITE3_INCLUDE_DIR sqlite3.h)
  53. FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3_i sqlite3 PATHS
  54. "$ENV{LIB_DIR}/lib"
  55. "$ENV{LIB}/lib"
  56. NO_DEFAULT_PATH
  57. )
  58. FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3_i sqlite3)
  59. endif()
  60. IF (SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY)
  61. SET(SQLITE3_FOUND TRUE)
  62. ENDIF (SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY)
  63. IF (SQLITE3_FOUND)
  64. IF (NOT SQLITE3_FIND_QUIETLY)
  65. MESSAGE(STATUS "Found Sqlite3: ${SQLITE3_LIBRARY}")
  66. ENDIF (NOT SQLITE3_FIND_QUIETLY)
  67. ELSE (SQLITE3_FOUND)
  68. IF (SQLITE3_FIND_REQUIRED)
  69. MESSAGE(FATAL_ERROR "Could not find Sqlite3")
  70. ENDIF (SQLITE3_FIND_REQUIRED)
  71. ENDIF (SQLITE3_FOUND)