Add FdbVersionedMap. Not working yet
This commit is contained in:
@@ -91,9 +91,19 @@ target_include_directories(
|
|||||||
${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>)
|
${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>)
|
||||||
set_target_properties(
|
set_target_properties(
|
||||||
${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY
|
${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)
|
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)
|
if(HAS_VERSION_SCRIPT)
|
||||||
target_link_options(${PROJECT_NAME} PRIVATE
|
target_link_options(${PROJECT_NAME} PRIVATE
|
||||||
LINKER:--version-script=${CMAKE_SOURCE_DIR}/linker.map)
|
LINKER:--version-script=${CMAKE_SOURCE_DIR}/linker.map)
|
||||||
@@ -185,6 +195,7 @@ if(BUILD_TESTING)
|
|||||||
target_compile_options(driver PRIVATE ${TEST_FLAGS})
|
target_compile_options(driver PRIVATE ${TEST_FLAGS})
|
||||||
target_link_libraries(driver PRIVATE ${PROJECT_NAME})
|
target_link_libraries(driver PRIVATE ${PROJECT_NAME})
|
||||||
set_target_properties(driver PROPERTIES SKIP_BUILD_RPATH ON)
|
set_target_properties(driver PROPERTIES SKIP_BUILD_RPATH ON)
|
||||||
|
add_dependencies(driver fdb-${PROJECT_NAME})
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(LD_PATH DYLD_LIBRARY_PATH)
|
set(LD_PATH DYLD_LIBRARY_PATH)
|
||||||
else()
|
else()
|
||||||
@@ -192,10 +203,14 @@ if(BUILD_TESTING)
|
|||||||
endif()
|
endif()
|
||||||
foreach(TEST ${CORPUS_TESTS})
|
foreach(TEST ${CORPUS_TESTS})
|
||||||
get_filename_component(hash ${TEST} NAME)
|
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(
|
set_tests_properties(
|
||||||
versioned_map_blackbox_${hash}
|
blackbox_${hash}
|
||||||
PROPERTIES ENVIRONMENT ${LD_PATH}=${CMAKE_BINARY_DIR}/versioned-map)
|
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()
|
endforeach()
|
||||||
|
|
||||||
add_executable(bench Bench.cpp)
|
add_executable(bench Bench.cpp)
|
||||||
|
1424
FdbVersionedMap.cpp
Normal file
1424
FdbVersionedMap.cpp
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user