leveldb.cmake 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. set(additional_patch_file ${CMAKE_CURRENT_LIST_DIR}/leveldb-${version}_windows_paths.patch)
  29. ExternalProject_Add(
  30. leveldb
  31. DEPENDS snappy
  32. DOWNLOAD_DIR ${FIREBASE_DOWNLOAD_DIR}
  33. GIT_REPOSITORY https://github.com/google/leveldb.git
  34. GIT_TAG "${version}"
  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} --additional-patch-file ${additional_patch_file}
  41. HTTP_HEADER "${EXTERNAL_PROJECT_HTTP_HEADER}"
  42. )