cmake_minimum_required(VERSION 2.8...3.30)

project(vitastor)

# vitastor-nfs
add_executable(vitastor-nfs
	nfs_proxy.cpp
	nfs_proxy_rdma.cpp
	nfs_block.cpp
	nfs_kv.cpp
	nfs_kv_create.cpp
	nfs_kv_defrag.cpp
	nfs_kv_getattr.cpp
	nfs_kv_link.cpp
	nfs_kv_lookup.cpp
	nfs_kv_read.cpp
	nfs_kv_readdir.cpp
	nfs_kv_remove.cpp
	nfs_kv_rename.cpp
	nfs_kv_setattr.cpp
	nfs_kv_write.cpp
	nfs_fsstat.cpp
	nfs_mount.cpp
	nfs_portmap.cpp
	rdma_alloc.cpp
	../util/sha256.c
	proto/xdr_impl.cpp
	proto/rpc_rdma_xdr.cpp
	proto/rpc_xdr.cpp
	proto/portmap_xdr.cpp
	proto/nfs_xdr.cpp
)
target_link_libraries(vitastor-nfs
	vitastor_client
	vitastor_kv
	${RDMACM_LIBRARIES}
)

# test_rdma_alloc
add_executable(test_rdma_alloc EXCLUDE_FROM_ALL test_rdma_alloc.cpp rdma_alloc.cpp)
add_dependencies(build_tests test_rdma_alloc)
add_test(NAME test_rdma_alloc COMMAND test_rdma_alloc)
