Switch to biicode

This commit is contained in:
Sebastian Messmer 2015-02-17 01:02:15 +01:00
parent 273035cf08
commit b59ee2d1e2
22 changed files with 164 additions and 33 deletions

2
.gitignore vendored
View File

@ -1,2 +0,0 @@
build.debug
build.release

96
CMakeLists.txt Normal file
View File

@ -0,0 +1,96 @@
# Initializes block variables
INIT_BIICODE_BLOCK()
# Actually create targets: EXEcutables and libraries.
ADD_BIICODE_TARGETS()
ACTIVATE_CPP14()
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
# You can safely delete lines from here...
###############################################################################
# REFERENCE #
###############################################################################
#
# This CMakeLists.txt file helps defining your block building and compiling
# To learn more about the CMake use with biicode, visit http://docs.biicode.com/c++.html
#
# ----------------------------------------------------
# NEW FEATURE! Include cmake files from remote blocks:
# -----------------------------------------------------
# Now you can handle cmake dependencies alike you do with c/c++:
#
# INCLUDE(user/block/myrecipe) # include myrecipe.cmake from remote user/block
#
# > EXAMPLE: Include our recipes and activate C++11 in your block (http://www.biicode.com/biicode/cmake)
#
# INCLUDE(biicode/cmake/tools) # Include tools.cmake file from "cmake" block from the "biicode" user
# ACTIVATE_CPP11(INTERFACE ${BII_BLOCK_TARGET})
#
# Remember to run "bii find" to download out cmake tools file
#
# ---------------------
# INIT_BIICODE_BLOCK()
# ---------------------
# This function creates several helper variables as ${BII_BLOCK_NAME} and ${BII_BLOCK_USER}
# Also it loads variables from the cmake/bii_user_block_vars.cmake
# ${BII_LIB_SRC} File list to create the library
# ${BII_LIB_TYPE} Empty (default, STATIC most casess) STATIC or SHARED
# ${BII_LIB_DEPS} Dependencies to other libraries (user2_block2, user3_blockX)
# ${BII_LIB_SYSTEM_HEADERS} System linking requirements as windows.h, pthread.h, etc
#
# You can use or modify them here, for example, to add or remove files from targets based on OS
# Or use typical cmake configurations done BEFORE defining targets. Examples:
# ADD_DEFINITIONS(-DFOO)
# FIND_PACKAGE(OpenGL QUIET)
# You can add INCLUDE_DIRECTORIES here too
#
# ---------------------
# ADD_BIICODE_TARGETS()
# ---------------------
#
# This function creates the following variables:
# ${BII_BLOCK_TARGET} Interface (no files) target for convenient configuration of all
# targets in this block, as the rest of targets always depend on it
# has name in the form "user_block_interface"
# ${BII_LIB_TARGET} Target library name, usually in the form "user_block". May not exist
# if BII_LIB_SRC is empty
# ${BII_BLOCK_TARGETS} List of all targets defined in this block
# ${BII_BLOCK_EXES} List of executables targets defined in this block
# ${BII_exe_name_TARGET}: Executable target (e.g. ${BII_main_TARGET}. You can also use
# directly the name of the executable target (e.g. user_block_main)
#
# > EXAMPLE: Add include directories to all targets of this block
#
# TARGET_INCLUDE_DIRECTORIES(${BII_BLOCK_TARGET} INTERFACE myincludedir)
#
# You can add private include directories to the Lib (if existing)
#
# > EXAMPLE: Link with pthread:
#
# TARGET_LINK_LIBRARIES(${BII_BLOCK_TARGET} INTERFACE pthread)
# or link against library:
# TARGET_LINK_LIBRARIES(${BII_LIB_TARGET} PUBLIC pthread)
# or directly use the library target name:
# TARGET_LINK_LIBRARIES(user_block PUBLIC pthread)
#
# NOTE: This can be also done adding pthread to ${BII_LIB_DEPS}
# BEFORE calling ADD_BIICODE_TARGETS()
#
# > EXAMPLE: how to activate C++11
#
# IF(APPLE)
# TARGET_COMPILE_OPTIONS(${BII_BLOCK_TARGET} INTERFACE "-std=c++11 -stdlib=libc++")
# ELSEIF (WIN32 OR UNIX)
# TARGET_COMPILE_OPTIONS(${BII_BLOCK_TARGET} INTERFACE "-std=c++11")
# ENDIF(APPLE)
#
# > EXAMPLE: Set properties to target
#
# SET_TARGET_PROPERTIES(${BII_BLOCK_TARGET} PROPERTIES COMPILE_DEFINITIONS "IOV_MAX=255")
#

View File

@ -1,4 +1,4 @@
#include <cryfs_lib/CryConfig.h>
#include "CryConfig.h"
#include <boost/filesystem.hpp>
#include <boost/property_tree/ptree.hpp>

View File

@ -4,7 +4,7 @@
#include <boost/filesystem/path.hpp>
#include "fspp/utils/macros.h"
#include "messmer/cpp-utils/macros.h"
namespace cryfs {

View File

@ -3,7 +3,7 @@
#include "CryDir.h"
#include "CryFile.h"
#include "fspp/fuse/FuseErrnoException.h"
#include "messmer/fspp/fuse/FuseErrnoException.h"
#include "impl/DirBlock.h"
using std::unique_ptr;

View File

@ -2,13 +2,13 @@
#ifndef CRYFS_LIB_CRYDEVICE_H_
#define CRYFS_LIB_CRYDEVICE_H_
#include <blockstore/interface/BlockStore.h>
#include <messmer/blockstore/interface/BlockStore.h>
#include "CryConfig.h"
#include <boost/filesystem.hpp>
#include <fspp/fs_interface/Device.h>
#include <messmer/fspp/fs_interface/Device.h>
#include "fspp/utils/macros.h"
#include "messmer/cpp-utils/macros.h"
namespace cryfs {

View File

@ -5,7 +5,7 @@
#include <fcntl.h>
#include <dirent.h>
#include "fspp/fuse/FuseErrnoException.h"
#include "messmer/fspp/fuse/FuseErrnoException.h"
#include "CryDevice.h"
#include "CryFile.h"

View File

@ -2,7 +2,7 @@
#ifndef CRYFS_LIB_CRYDIR_H_
#define CRYFS_LIB_CRYDIR_H_
#include <fspp/fs_interface/Dir.h>
#include <messmer/fspp/fs_interface/Dir.h>
#include "CryNode.h"
#include "impl/DirBlock.h"

View File

@ -2,7 +2,7 @@
#include "CryDevice.h"
#include "CryOpenFile.h"
#include "fspp/fuse/FuseErrnoException.h"
#include "messmer/fspp/fuse/FuseErrnoException.h"
namespace bf = boost::filesystem;

View File

@ -2,7 +2,7 @@
#ifndef CRYFS_LIB_CRYFILE_H_
#define CRYFS_LIB_CRYFILE_H_
#include <fspp/fs_interface/File.h>
#include <messmer/fspp/fs_interface/File.h>
#include "CryNode.h"
#include "impl/FileBlock.h"

View File

@ -3,7 +3,7 @@
#include <sys/time.h>
#include "CryDevice.h"
#include "fspp/fuse/FuseErrnoException.h"
#include "messmer/fspp/fuse/FuseErrnoException.h"
namespace bf = boost::filesystem;

View File

@ -2,8 +2,8 @@
#ifndef CRYFS_LIB_CRYNODE_H_
#define CRYFS_LIB_CRYNODE_H_
#include <fspp/fs_interface/Node.h>
#include "fspp/utils/macros.h"
#include <messmer/fspp/fs_interface/Node.h>
#include "messmer/cpp-utils/macros.h"
#include "CryDevice.h"

View File

@ -4,7 +4,7 @@
#include <fcntl.h>
#include "CryDevice.h"
#include "fspp/fuse/FuseErrnoException.h"
#include "messmer/fspp/fuse/FuseErrnoException.h"
namespace bf = boost::filesystem;

View File

@ -2,8 +2,8 @@
#ifndef CRYFS_LIB_CRYOPENFILE_H_
#define CRYFS_LIB_CRYOPENFILE_H_
#include "fspp/fs_interface/OpenFile.h"
#include "fspp/utils/macros.h"
#include "messmer/fspp/fs_interface/OpenFile.h"
#include "messmer/cpp-utils/macros.h"
namespace cryfs {
class CryDevice;

43
biicode.conf Normal file
View File

@ -0,0 +1,43 @@
# Biicode configuration file
[requirements]
messmer/blockstore
messmer/cpp-utils
messmer/fspp
[parent]
# The parent version of this block. Must match folder name. E.g.
# user/block # No version number means not published yet
# You can change it to publish to a different track, and change version, e.g.
# user/block(track): 7
[paths]
# Local directories to look for headers (within block)
# /
# include
[dependencies]
# Manual adjust file implicit dependencies, add (+), remove (-), or overwrite (=)
# hello.h + hello_imp.cpp hello_imp2.cpp
# *.h + *.cpp
[mains]
# Manual adjust of files that define an executable
# !main.cpp # Do not build executable from this file
# main2.cpp # Build it (it doesnt have a main() function, but maybe it includes it)
[hooks]
# These are defined equal to [dependencies],files names matching bii*stage*hook.py
# will be launched as python scripts at stage = {post_process, clean}
# CMakeLists.txt + bii/my_post_process1_hook.py bii_clean_hook.py
[includes]
# Mapping of include patterns to external blocks
# hello*.h: user3/depblock # includes will be processed as user3/depblock/hello*.h
[data]
# Manually define data files dependencies, that will be copied to bin for execution
# By default they are copied to bin/user/block/... which should be taken into account
# when loading from disk such data
# image.cpp + image.jpg # code should write open("user/block/image.jpg")

View File

@ -3,7 +3,7 @@
#include <cassert>
//TODO Remove and replace with exception hierarchy
#include "fspp/fuse/FuseErrnoException.h"
#include "messmer/fspp/fuse/FuseErrnoException.h"
#include "MagicNumbers.h"

View File

@ -2,9 +2,9 @@
#ifndef CRYFS_LIB_IMPL_DIRBLOCK_H_
#define CRYFS_LIB_IMPL_DIRBLOCK_H_
#include <blockstore/interface/Block.h>
#include <blockstore/utils/Key.h>
#include "fspp/utils/macros.h"
#include <messmer/blockstore/interface/Block.h>
#include <messmer/blockstore/utils/Key.h>
#include "messmer/cpp-utils/macros.h"
#include <memory>
#include <vector>

View File

@ -2,7 +2,7 @@
#ifndef CRYFS_LIB_IMPL_FILEBLOCK_H_
#define CRYFS_LIB_IMPL_FILEBLOCK_H_
#include <blockstore/interface/Block.h>
#include <messmer/blockstore/interface/Block.h>
#include <memory>
namespace cryfs {

View File

@ -1,13 +1,11 @@
#include <blockstore/implementations/ondisk/OnDiskBlockStore.h>
#include <messmer/blockstore/implementations/ondisk/OnDiskBlockStore.h>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include "buildconfig/BuildConfig.h"
#include "fspp/fuse/Fuse.h"
#include "fspp/impl/FilesystemImpl.h"
#include "copyfs/CopyDevice.h"
#include "cryfs_lib/CryDevice.h"
#include "messmer/fspp/fuse/Fuse.h"
#include "messmer/fspp/impl/FilesystemImpl.h"
#include "CryDevice.h"
namespace bf = boost::filesystem;
@ -17,7 +15,6 @@ using std::make_unique;
int main (int argc, char *argv[])
{
printf("Version: %d\n", buildconfig::VERSION::MAJOR);
auto blockStore = make_unique<OnDiskBlockStore>(bf::path("/home/heinzi/cryfstest/root"));
auto config = make_unique<cryfs::CryConfig>(bf::path("/home/heinzi/cryfstest/config.json"));
cryfs::CryDevice device(std::move(config), std::move(blockStore));

View File

@ -1,3 +0,0 @@
add_library(cryfs_lib CryDevice.cpp CryDir.cpp CryFile.cpp CryNode.cpp CryOpenFile.cpp CryConfig.cpp impl/DirBlock.cpp impl/FileBlock.cpp)
target_link_libraries(cryfs_lib)