diff --git a/CMakeLists.txt b/CMakeLists.txt index fda9e01bb..58e30e0bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,114 +121,114 @@ add_library(leveldb "") target_sources(leveldb PRIVATE "${PROJECT_BINARY_DIR}/${LEVELDB_PORT_CONFIG_DIR}/port_config.h" - "db/builder.cc" - "db/builder.h" - "db/c.cc" - "db/db_impl.cc" - "db/db_impl.h" - "db/db_iter.cc" - "db/db_iter.h" - "db/dbformat.cc" - "db/dbformat.h" - "db/dumpfile.cc" - "db/filename.cc" - "db/filename.h" - "db/log_format.h" - "db/log_reader.cc" - "db/log_reader.h" - "db/log_writer.cc" - "db/log_writer.h" - "db/memtable.cc" - "db/memtable.h" - "db/repair.cc" - "db/skiplist.h" - "db/snapshot.h" - "db/table_cache.cc" - "db/table_cache.h" - "db/version_edit.cc" - "db/version_edit.h" - "db/version_set.cc" - "db/version_set.h" - "db/write_batch_internal.h" - "db/write_batch.cc" - "port/port_stdcxx.h" - "port/port.h" - "port/thread_annotations.h" - "table/block_builder.cc" - "table/block_builder.h" - "table/block.cc" - "table/block.h" - "table/filter_block.cc" - "table/filter_block.h" - "table/format.cc" - "table/format.h" - "table/iterator_wrapper.h" - "table/iterator.cc" - "table/merger.cc" - "table/merger.h" - "table/table_builder.cc" - "table/table.cc" - "table/two_level_iterator.cc" - "table/two_level_iterator.h" - "util/arena.cc" - "util/arena.h" - "util/bloom.cc" - "util/cache.cc" - "util/coding.cc" - "util/coding.h" - "util/comparator.cc" - "util/crc32c.cc" - "util/crc32c.h" - "util/env.cc" - "util/filter_policy.cc" - "util/hash.cc" - "util/hash.h" - "util/logging.cc" - "util/logging.h" - "util/mutexlock.h" - "util/no_destructor.h" - "util/options.cc" - "util/random.h" - "util/status.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/builder.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/builder.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/c.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/db_impl.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/db_impl.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/db_iter.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/db_iter.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/dbformat.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/dbformat.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/dumpfile.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/filename.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/filename.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/log_format.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/log_reader.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/log_reader.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/log_writer.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/log_writer.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/memtable.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/memtable.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/repair.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/skiplist.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/snapshot.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/table_cache.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/table_cache.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/version_edit.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/version_edit.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/version_set.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/version_set.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/write_batch_internal.h" + "${CMAKE_CURRENT_SOURCE_DIR}/db/write_batch.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/port/port_stdcxx.h" + "${CMAKE_CURRENT_SOURCE_DIR}/port/port.h" + "${CMAKE_CURRENT_SOURCE_DIR}/port/thread_annotations.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/block_builder.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/block_builder.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/block.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/block.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/filter_block.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/filter_block.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/format.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/format.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/iterator_wrapper.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/iterator.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/merger.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/merger.h" + "${CMAKE_CURRENT_SOURCE_DIR}/table/table_builder.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/table.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/two_level_iterator.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/two_level_iterator.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/arena.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/arena.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/bloom.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/cache.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/coding.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/coding.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/comparator.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/crc32c.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/crc32c.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/env.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/filter_policy.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/hash.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/hash.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/logging.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/logging.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/mutexlock.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/no_destructor.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/options.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/random.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/status.cc" # Only CMake 3.3+ supports PUBLIC sources in targets exported by "install". $<$:PUBLIC> - "${LEVELDB_PUBLIC_INCLUDE_DIR}/c.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/cache.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/comparator.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/db.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/dumpfile.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/env.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/export.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/filter_policy.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/iterator.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/options.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/slice.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/status.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/table_builder.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/table.h" - "${LEVELDB_PUBLIC_INCLUDE_DIR}/write_batch.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/c.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/cache.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/comparator.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/db.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/dumpfile.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/env.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/export.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/filter_policy.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/iterator.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/options.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/slice.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/status.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/table_builder.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/table.h" + "${CMAKE_CURRENT_SOURCE_DIR}/${LEVELDB_PUBLIC_INCLUDE_DIR}/write_batch.h" ) if (WIN32) target_sources(leveldb PRIVATE - "util/env_windows.cc" - "util/windows_logger.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/env_windows.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/windows_logger.h" ) else (WIN32) target_sources(leveldb PRIVATE - "util/env_posix.cc" - "util/posix_logger.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/env_posix.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/posix_logger.h" ) endif (WIN32) # MemEnv is not part of the interface and could be pulled to a separate library. target_sources(leveldb PRIVATE - "helpers/memenv/memenv.cc" - "helpers/memenv/memenv.h" + "${CMAKE_CURRENT_SOURCE_DIR}/helpers/memenv/memenv.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/helpers/memenv/memenv.h" ) target_include_directories(leveldb @@ -319,35 +319,35 @@ if(LEVELDB_BUILD_TESTS) # "issues/issue320_test.cc" "${PROJECT_BINARY_DIR}/${LEVELDB_PORT_CONFIG_DIR}/port_config.h" # "util/env_test.cc" - "util/status_test.cc" - "util/no_destructor_test.cc" - "util/testutil.cc" - "util/testutil.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/status_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/no_destructor_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/testutil.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/testutil.h" ) if(NOT BUILD_SHARED_LIBS) target_sources(leveldb_tests PRIVATE - "db/autocompact_test.cc" - "db/corruption_test.cc" - "db/db_test.cc" - "db/dbformat_test.cc" - "db/filename_test.cc" - "db/log_test.cc" - "db/recovery_test.cc" - "db/skiplist_test.cc" - "db/version_edit_test.cc" - "db/version_set_test.cc" - "db/write_batch_test.cc" - "helpers/memenv/memenv_test.cc" - "table/filter_block_test.cc" - "table/table_test.cc" - "util/arena_test.cc" - "util/bloom_test.cc" - "util/cache_test.cc" - "util/coding_test.cc" - "util/crc32c_test.cc" - "util/hash_test.cc" - "util/logging_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/autocompact_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/corruption_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/db_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/dbformat_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/filename_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/log_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/recovery_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/skiplist_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/version_edit_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/version_set_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/db/write_batch_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/helpers/memenv/memenv_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/filter_block_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/table/table_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/arena_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/bloom_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/cache_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/coding_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/crc32c_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/hash_test.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/logging_test.cc" ) endif(NOT BUILD_SHARED_LIBS) target_link_libraries(leveldb_tests leveldb gmock gtest gtest_main) @@ -371,8 +371,8 @@ if(LEVELDB_BUILD_TESTS) target_sources("${test_target_name}" PRIVATE "${PROJECT_BINARY_DIR}/${LEVELDB_PORT_CONFIG_DIR}/port_config.h" - "util/testutil.cc" - "util/testutil.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/testutil.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/testutil.h" "${test_file}" ) @@ -417,10 +417,10 @@ if(LEVELDB_BUILD_BENCHMARKS) target_sources("${bench_target_name}" PRIVATE "${PROJECT_BINARY_DIR}/${LEVELDB_PORT_CONFIG_DIR}/port_config.h" - "util/histogram.cc" - "util/histogram.h" - "util/testutil.cc" - "util/testutil.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/histogram.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/histogram.h" + "${CMAKE_CURRENT_SOURCE_DIR}/util/testutil.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/util/testutil.h" "${bench_file}" )