Inside Bitcoin
Opening the selected file…
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1# Copyright (c) 2023-present The Bitcoin Core developers2# Distributed under the MIT software license, see the accompanying3# file COPYING or https://opensource.org/license/mit/.5# This file is part of the transition from Autotools to CMake. Once CMake6# support has been merged we should switch to using the upstream CMake7# buildsystem.9include(CheckCXXSymbolExists)10check_cxx_symbol_exists(F_FULLFSYNC "fcntl.h" HAVE_FULLFSYNC)12add_library(leveldb STATIC EXCLUDE_FROM_ALL13${PROJECT_SOURCE_DIR}/src/leveldb/db/builder.cc14${PROJECT_SOURCE_DIR}/src/leveldb/db/db_impl.cc15${PROJECT_SOURCE_DIR}/src/leveldb/db/db_iter.cc16${PROJECT_SOURCE_DIR}/src/leveldb/db/dbformat.cc17${PROJECT_SOURCE_DIR}/src/leveldb/db/filename.cc18${PROJECT_SOURCE_DIR}/src/leveldb/db/log_reader.cc19${PROJECT_SOURCE_DIR}/src/leveldb/db/log_writer.cc20${PROJECT_SOURCE_DIR}/src/leveldb/db/memtable.cc21${PROJECT_SOURCE_DIR}/src/leveldb/db/repair.cc22${PROJECT_SOURCE_DIR}/src/leveldb/db/table_cache.cc23${PROJECT_SOURCE_DIR}/src/leveldb/db/version_edit.cc24${PROJECT_SOURCE_DIR}/src/leveldb/db/version_set.cc25${PROJECT_SOURCE_DIR}/src/leveldb/db/write_batch.cc26${PROJECT_SOURCE_DIR}/src/leveldb/table/block.cc27${PROJECT_SOURCE_DIR}/src/leveldb/table/block_builder.cc28${PROJECT_SOURCE_DIR}/src/leveldb/table/filter_block.cc29${PROJECT_SOURCE_DIR}/src/leveldb/table/format.cc30${PROJECT_SOURCE_DIR}/src/leveldb/table/iterator.cc31${PROJECT_SOURCE_DIR}/src/leveldb/table/merger.cc32${PROJECT_SOURCE_DIR}/src/leveldb/table/table.cc33${PROJECT_SOURCE_DIR}/src/leveldb/table/table_builder.cc34${PROJECT_SOURCE_DIR}/src/leveldb/table/two_level_iterator.cc35${PROJECT_SOURCE_DIR}/src/leveldb/util/arena.cc36${PROJECT_SOURCE_DIR}/src/leveldb/util/bloom.cc37${PROJECT_SOURCE_DIR}/src/leveldb/util/cache.cc38${PROJECT_SOURCE_DIR}/src/leveldb/util/coding.cc39${PROJECT_SOURCE_DIR}/src/leveldb/util/comparator.cc40${PROJECT_SOURCE_DIR}/src/leveldb/util/crc32c.cc41${PROJECT_SOURCE_DIR}/src/leveldb/util/env.cc42$<$<NOT:$<BOOL:${WIN32}>>:${PROJECT_SOURCE_DIR}/src/leveldb/util/env_posix.cc>43$<$<BOOL:${WIN32}>:${PROJECT_SOURCE_DIR}/src/leveldb/util/env_windows.cc>44${PROJECT_SOURCE_DIR}/src/leveldb/util/filter_policy.cc45${PROJECT_SOURCE_DIR}/src/leveldb/util/hash.cc46${PROJECT_SOURCE_DIR}/src/leveldb/util/logging.cc47${PROJECT_SOURCE_DIR}/src/leveldb/util/options.cc48${PROJECT_SOURCE_DIR}/src/leveldb/util/status.cc49${PROJECT_SOURCE_DIR}/src/leveldb/helpers/memenv/memenv.cc50)52target_compile_definitions(leveldb53PRIVATE54HAVE_SNAPPY=055HAVE_CRC32C=156HAVE_FDATASYNC=$<BOOL:${HAVE_FDATASYNC}>57HAVE_FULLFSYNC=$<BOOL:${HAVE_FULLFSYNC}>58HAVE_O_CLOEXEC=$<BOOL:${HAVE_O_CLOEXEC}>59$<$<NOT:$<BOOL:${WIN32}>>:LEVELDB_PLATFORM_POSIX>60$<$<BOOL:${WIN32}>:LEVELDB_PLATFORM_WINDOWS>61$<$<BOOL:${WIN32}>:_UNICODE;UNICODE>62)63if(MINGW)64target_compile_definitions(leveldb65PRIVATE66__USE_MINGW_ANSI_STDIO=167)68endif()70target_include_directories(leveldb71PRIVATE72$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/leveldb>73PUBLIC74$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/leveldb/include>75)77add_library(nowarn_leveldb_interface INTERFACE)78if(MSVC)79target_compile_options(nowarn_leveldb_interface INTERFACE80/wd472281)82target_compile_definitions(nowarn_leveldb_interface INTERFACE83_CRT_NONSTDC_NO_WARNINGS84)85else()86try_append_cxx_flags("-Wcovered-switch-default" TARGET nowarn_leveldb_interface SKIP_LINK87IF_CHECK_PASSED "-Wno-covered-switch-default"88)89endif()91target_link_libraries(leveldb PRIVATE92core_interface93nowarn_leveldb_interface94crc32c95)97set_target_properties(leveldb PROPERTIES98EXPORT_COMPILE_COMMANDS OFF99)
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.