Add FdbVersionedMap. Not working yet

This commit is contained in:
2024-05-28 13:47:13 -07:00
parent 42298a911a
commit 1b5ed72ab9
2 changed files with 1443 additions and 4 deletions

View File

@@ -91,9 +91,19 @@ target_include_directories(
${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>)
set_target_properties(
${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY
"${CMAKE_BINARY_DIR}/versioned-map")
"${CMAKE_BINARY_DIR}/${PROJECT_NAME}")
set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C)
# Not thread-safe
add_library(fdb-${PROJECT_NAME} SHARED FdbVersionedMap.cpp)
target_include_directories(
fdb-${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>)
set_target_properties(fdb-${PROJECT_NAME} PROPERTIES OUTPUT_NAME
${PROJECT_NAME})
set_target_properties(
fdb-${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY
"${CMAKE_BINARY_DIR}/fdb-${PROJECT_NAME}")
if(HAS_VERSION_SCRIPT)
target_link_options(${PROJECT_NAME} PRIVATE
LINKER:--version-script=${CMAKE_SOURCE_DIR}/linker.map)
@@ -185,6 +195,7 @@ if(BUILD_TESTING)
target_compile_options(driver PRIVATE ${TEST_FLAGS})
target_link_libraries(driver PRIVATE ${PROJECT_NAME})
set_target_properties(driver PROPERTIES SKIP_BUILD_RPATH ON)
add_dependencies(driver fdb-${PROJECT_NAME})
if(APPLE)
set(LD_PATH DYLD_LIBRARY_PATH)
else()
@@ -192,10 +203,14 @@ if(BUILD_TESTING)
endif()
foreach(TEST ${CORPUS_TESTS})
get_filename_component(hash ${TEST} NAME)
add_test(NAME versioned_map_blackbox_${hash} COMMAND driver ${TEST})
add_test(NAME blackbox_${hash} COMMAND driver ${TEST})
set_tests_properties(
versioned_map_blackbox_${hash}
PROPERTIES ENVIRONMENT ${LD_PATH}=${CMAKE_BINARY_DIR}/versioned-map)
blackbox_${hash}
PROPERTIES ENVIRONMENT ${LD_PATH}=${CMAKE_BINARY_DIR}/${PROJECT_NAME})
add_test(NAME fdb_blackbox_${hash} COMMAND driver ${TEST})
set_tests_properties(
fdb_blackbox_${hash}
PROPERTIES ENVIRONMENT ${LD_PATH}=${CMAKE_BINARY_DIR}/fdb-${PROJECT_NAME})
endforeach()
add_executable(bench Bench.cpp)

1424
FdbVersionedMap.cpp Normal file

File diff suppressed because it is too large Load Diff