leveldb.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # Copyright 2017 Google
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. include(ExternalProject)
  15. include(python_setup)
  16. FirebaseSetupPythonInterpreter(
  17. OUTVAR MY_PYTHON_EXECUTABLE
  18. KEY LevelDbPatch
  19. )
  20. if(TARGET leveldb)
  21. return()
  22. endif()
  23. set(version 1.22)
  24. ExternalProject_Get_property(snappy SOURCE_DIR)
  25. set(snappy_source_dir "${SOURCE_DIR}")
  26. ExternalProject_Get_property(snappy BINARY_DIR)
  27. set(snappy_binary_dir "${BINARY_DIR}")
  28. ExternalProject_Add(
  29. leveldb
  30. DEPENDS snappy
  31. DOWNLOAD_DIR ${FIREBASE_DOWNLOAD_DIR}
  32. DOWNLOAD_NAME leveldb-${version}.tar.gz
  33. URL https://github.com/google/leveldb/archive/${version}.tar.gz
  34. URL_HASH SHA256=55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2
  35. PREFIX ${PROJECT_BINARY_DIR}
  36. CONFIGURE_COMMAND ""
  37. BUILD_COMMAND ""
  38. INSTALL_COMMAND ""
  39. TEST_COMMAND ""
  40. PATCH_COMMAND "${MY_PYTHON_EXECUTABLE}" ${CMAKE_CURRENT_LIST_DIR}/leveldb_patch.py --snappy-source-dir ${snappy_source_dir} --snappy-binary-dir ${snappy_binary_dir}
  41. HTTP_HEADER "${EXTERNAL_PROJECT_HTTP_HEADER}"
  42. )