21 lines
1.2 KiB
CMake
21 lines
1.2 KiB
CMake
function(add_fdbserver_link_test target_name)
|
|
set(link_libs ${ARGN})
|
|
list(GET link_libs 0 primary_lib)
|
|
list(REMOVE_AT link_libs 0)
|
|
file(RELATIVE_PATH link_test_src "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/fdbclient/LinkTest.cpp")
|
|
add_flow_target(LINK_TEST NAME ${target_name} SRCS ${link_test_src})
|
|
target_link_libraries(${target_name} PRIVATE "$<LINK_LIBRARY:WHOLE_ARCHIVE,${primary_lib}>" ${link_libs} rapidxml)
|
|
endfunction()
|
|
|
|
function(add_fdbserver_unit_test target_name source_subdir)
|
|
set(link_libs ${ARGN})
|
|
list(GET link_libs 0 primary_lib)
|
|
list(REMOVE_AT link_libs 0)
|
|
file(RELATIVE_PATH unit_test_src "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/fdbserver/FDBServerUnitTestMain.cpp")
|
|
add_flow_target(EXECUTABLE NAME ${target_name} SRCS ${unit_test_src})
|
|
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
target_compile_definitions(${target_name} PRIVATE FDBSERVER_UNIT_TEST_SUITE=\"${source_subdir}\")
|
|
target_include_directories(${target_name} PRIVATE ${CMAKE_SOURCE_DIR}/fdbserver/include)
|
|
target_link_libraries(${target_name} PRIVATE "$<LINK_LIBRARY:WHOLE_ARCHIVE,${primary_lib}>" ${link_libs} rapidxml)
|
|
endfunction()
|