############################################################################### 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 emory/store/bits.cpp emory/store/bits.hpp emory/store/repo.cpp emory/store/repo.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}" ) install (TARGETS "${t}") endforeach() add_executable (emory tools/emory.cpp) target_link_libraries (emory libemory) install (TARGETS emory) ############################################################################### set (CPACK_GENERATOR "TXZ") set (CPACK_STRIP_FILES TRUE) include (CPack)