emory/CMakeLists.txt

64 lines
1.6 KiB
CMake

###############################################################################
cmake_minimum_required(VERSION 3.8.0)
project(emory CXX)
set(CMAKE_CXX_STANDARD 20)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include (nc)
include_directories(.)
###############################################################################
add_library(libemory
acl.cpp
acl.hpp
emory/chunk/fwd.cpp
emory/chunk/fwd.hpp
emory/chunk/map.cpp
emory/chunk/map.hpp
emory/chunk/match.cpp
emory/chunk/match.hpp
emory/chunk/ostream.cpp
emory/chunk/ostream.hpp
emory/chunk/params.cpp
emory/chunk/params.hpp
emory/chunk/region.cpp
emory/chunk/region.hpp
emory/fs/acl.cpp
emory/fs/acl.hpp
emory/fs/ostream.cpp
emory/fs/ostream.hpp
emory/fs/xattr.cpp
emory/fs/xattr.hpp
)
target_link_libraries(libemory cruft acl)
set_target_properties(libemory PROPERTIES OUTPUT_NAME emory)
###############################################################################
option (TESTS "enable unit testing" ON)
if (TESTS)
enable_testing ()
endif ()
###############################################################################
add_subdirectory(cruft/util)
add_subdirectory(cruft/crypto)
###############################################################################
foreach (t analyse compare stat)
add_executable ("${t}" "tools/${t}.cpp")
target_link_libraries ("${t}" libemory cruft-crypto cruft)
set_target_properties ("${t}" PROPERTIES
OUTPUT_NAME "emory-${t}"
)
endforeach()
add_executable (emory tools/emory.cpp)
target_link_libraries (emory libemory)