Restructure project to allow factoring out a library
This commit is contained in:
parent
f92c4a4f71
commit
e48188f470
@ -41,5 +41,6 @@ script:
|
|||||||
- ./test/blobstore/blobstore-test
|
- ./test/blobstore/blobstore-test
|
||||||
# TODO Also run on osx once fixed
|
# TODO Also run on osx once fixed
|
||||||
- if [ "${TRAVIS_OS_NAME}" == "linux"]; then ./test/cryfs/cryfs-test ; fi
|
- if [ "${TRAVIS_OS_NAME}" == "linux"]; then ./test/cryfs/cryfs-test ; fi
|
||||||
|
- if [ "${TRAVIS_OS_NAME}" == "linux"]; then ./test/cryfs/cryfs-cli-test ; fi
|
||||||
after_script:
|
after_script:
|
||||||
- rm run_with_fuse.sh
|
- rm run_with_fuse.sh
|
||||||
|
@ -6,3 +6,4 @@ add_subdirectory(parallelaccessstore)
|
|||||||
add_subdirectory(blockstore)
|
add_subdirectory(blockstore)
|
||||||
add_subdirectory(blobstore)
|
add_subdirectory(blobstore)
|
||||||
add_subdirectory(cryfs)
|
add_subdirectory(cryfs)
|
||||||
|
add_subdirectory(cryfs-cli)
|
||||||
|
29
src/cryfs-cli/CMakeLists.txt
Normal file
29
src/cryfs-cli/CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
project (cryfs-cli)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
Cli.cpp
|
||||||
|
VersionChecker.cpp
|
||||||
|
VersionCompare.cpp
|
||||||
|
CallAfterTimeout.cpp
|
||||||
|
Environment.cpp
|
||||||
|
program_options/utils.cpp
|
||||||
|
program_options/ProgramOptions.cpp
|
||||||
|
program_options/Parser.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(${PROJECT_NAME} ${SOURCES})
|
||||||
|
target_link_libraries(${PROJECT_NAME} PUBLIC cryfs cpp-utils)
|
||||||
|
target_enable_style_warnings(${PROJECT_NAME})
|
||||||
|
target_activate_cpp14(${PROJECT_NAME})
|
||||||
|
target_git_version_init(${PROJECT_NAME})
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME}_bin main.cpp)
|
||||||
|
set_target_properties(${PROJECT_NAME}_bin PROPERTIES OUTPUT_NAME cryfs)
|
||||||
|
target_link_libraries(${PROJECT_NAME}_bin PUBLIC ${PROJECT_NAME})
|
||||||
|
target_enable_style_warnings(${PROJECT_NAME}_bin)
|
||||||
|
target_activate_cpp14(${PROJECT_NAME}_bin)
|
||||||
|
|
||||||
|
install(TARGETS ${PROJECT_NAME}_bin
|
||||||
|
DESTINATION bin
|
||||||
|
CONFIGURATIONS Release
|
||||||
|
)
|
@ -12,8 +12,8 @@
|
|||||||
#include <fspp/impl/FilesystemImpl.h>
|
#include <fspp/impl/FilesystemImpl.h>
|
||||||
#include <cpp-utils/process/subprocess.h>
|
#include <cpp-utils/process/subprocess.h>
|
||||||
#include <cpp-utils/io/DontEchoStdinToStdoutRAII.h>
|
#include <cpp-utils/io/DontEchoStdinToStdoutRAII.h>
|
||||||
#include "../filesystem/CryDevice.h"
|
#include <cryfs/filesystem/CryDevice.h>
|
||||||
#include "../config/CryConfigLoader.h"
|
#include <cryfs/config/CryConfigLoader.h>
|
||||||
#include "program_options/Parser.h"
|
#include "program_options/Parser.h"
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
#define MESSMER_CRYFS_CLI_H
|
#define MESSMER_CRYFS_CLI_H
|
||||||
|
|
||||||
#include "program_options/ProgramOptions.h"
|
#include "program_options/ProgramOptions.h"
|
||||||
#include "../config/CryConfigFile.h"
|
#include <cryfs/config/CryConfigFile.h>
|
||||||
#include <boost/filesystem/path.hpp>
|
#include <boost/filesystem/path.hpp>
|
||||||
#include <cpp-utils/tempfile/TempFile.h>
|
#include <cpp-utils/tempfile/TempFile.h>
|
||||||
#include <cpp-utils/io/Console.h>
|
#include <cpp-utils/io/Console.h>
|
@ -1,4 +1,4 @@
|
|||||||
#include "cli/Cli.h"
|
#include "Cli.h"
|
||||||
#include <cpp-utils/random/Random.h>
|
#include <cpp-utils/random/Random.h>
|
||||||
#include <cpp-utils/crypto/kdf/Scrypt.h>
|
#include <cpp-utils/crypto/kdf/Scrypt.h>
|
||||||
#include <cpp-utils/network/CurlHttpClient.h>
|
#include <cpp-utils/network/CurlHttpClient.h>
|
@ -2,7 +2,7 @@
|
|||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <boost/optional.hpp>
|
#include <boost/optional.hpp>
|
||||||
#include <cryfs/cli/Environment.h>
|
#include <cryfs-cli/Environment.h>
|
||||||
|
|
||||||
namespace po = boost::program_options;
|
namespace po = boost::program_options;
|
||||||
namespace bf = boost::filesystem;
|
namespace bf = boost::filesystem;
|
@ -1,14 +1,7 @@
|
|||||||
project (cryfs)
|
project (cryfs)
|
||||||
|
|
||||||
set(SOURCES
|
set(LIB_SOURCES
|
||||||
cli/Cli.cpp
|
# cryfs.cpp
|
||||||
cli/VersionChecker.cpp
|
|
||||||
cli/VersionCompare.cpp
|
|
||||||
cli/CallAfterTimeout.cpp
|
|
||||||
cli/Environment.cpp
|
|
||||||
cli/program_options/utils.cpp
|
|
||||||
cli/program_options/ProgramOptions.cpp
|
|
||||||
cli/program_options/Parser.cpp
|
|
||||||
config/crypto/outer/OuterConfig.cpp
|
config/crypto/outer/OuterConfig.cpp
|
||||||
config/crypto/outer/OuterEncryptor.cpp
|
config/crypto/outer/OuterEncryptor.cpp
|
||||||
config/crypto/CryConfigEncryptorFactory.cpp
|
config/crypto/CryConfigEncryptorFactory.cpp
|
||||||
@ -49,19 +42,15 @@ set(SOURCES
|
|||||||
filesystem/CryDevice.cpp
|
filesystem/CryDevice.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(${PROJECT_NAME}_lib STATIC ${SOURCES})
|
add_library(${PROJECT_NAME} STATIC ${LIB_SOURCES})
|
||||||
target_link_libraries(${PROJECT_NAME}_lib PUBLIC cpp-utils blockstore blobstore fspp)
|
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME cryfs)
|
||||||
target_add_boost(${PROJECT_NAME}_lib program_options chrono)
|
target_link_libraries(${PROJECT_NAME} PRIVATE cpp-utils blockstore blobstore fspp) # TODO Check that dependent projects don't get this linked in
|
||||||
target_enable_style_warnings(${PROJECT_NAME}_lib)
|
target_add_boost(${PROJECT_NAME} program_options chrono) # TODO Check that dependent projects don't get boost added (use PRIVATE here)
|
||||||
target_activate_cpp14(${PROJECT_NAME}_lib)
|
|
||||||
target_git_version_init(${PROJECT_NAME}_lib)
|
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} main.cpp)
|
|
||||||
target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib)
|
|
||||||
target_enable_style_warnings(${PROJECT_NAME})
|
target_enable_style_warnings(${PROJECT_NAME})
|
||||||
target_activate_cpp14(${PROJECT_NAME})
|
target_activate_cpp14(${PROJECT_NAME})
|
||||||
|
target_git_version_init(${PROJECT_NAME})
|
||||||
|
|
||||||
install(TARGETS cryfs
|
#install(TARGETS ${PROJECT_NAME}
|
||||||
COMPONENT cryfs-cli
|
# DESTINATION lib
|
||||||
DESTINATION bin
|
# CONFIGURATIONS Release
|
||||||
CONFIGURATIONS Release)
|
#)
|
||||||
|
20
src/cryfs/cryfs.cpp
Normal file
20
src/cryfs/cryfs.cpp
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#include "cryfs.h"
|
||||||
|
|
||||||
|
class cryfs_load_handle {
|
||||||
|
public:
|
||||||
|
cryfs_load_handle(const char *value_): value(value_) {}
|
||||||
|
|
||||||
|
const char *value;
|
||||||
|
};
|
||||||
|
|
||||||
|
cryfs_load_handle *cryfs_load_init() {
|
||||||
|
return new cryfs_load_handle("Hello Library World!");
|
||||||
|
}
|
||||||
|
|
||||||
|
void cryfs_load_free(cryfs_load_handle *handle) {
|
||||||
|
delete handle;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *cryfs_test(cryfs_load_handle *handle) {
|
||||||
|
return handle->value;
|
||||||
|
}
|
19
src/cryfs/cryfs.h
Normal file
19
src/cryfs/cryfs.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
#ifndef MESSMER_CRYFS_CRYFS_H
|
||||||
|
#define MESSMER_CRYFS_CRYFS_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct cryfs_load_handle;
|
||||||
|
|
||||||
|
cryfs_load_handle *cryfs_load_init();
|
||||||
|
void cryfs_load_free(cryfs_load_handle *handle);
|
||||||
|
const char *cryfs_test(cryfs_load_handle *handle);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@ -7,4 +7,5 @@ if (BUILD_TESTING)
|
|||||||
add_subdirectory(blockstore)
|
add_subdirectory(blockstore)
|
||||||
add_subdirectory(blobstore)
|
add_subdirectory(blobstore)
|
||||||
add_subdirectory(cryfs)
|
add_subdirectory(cryfs)
|
||||||
|
add_subdirectory(cryfs-cli)
|
||||||
endif(BUILD_TESTING)
|
endif(BUILD_TESTING)
|
||||||
|
22
test/cryfs-cli/CMakeLists.txt
Normal file
22
test/cryfs-cli/CMakeLists.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
project (cryfs-cli-test)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
CallAfterTimeoutTest.cpp
|
||||||
|
testutils/CliTest.cpp
|
||||||
|
CliTest_Setup.cpp
|
||||||
|
CliTest_WrongEnvironment.cpp
|
||||||
|
program_options/UtilsTest.cpp
|
||||||
|
program_options/ProgramOptionsTest.cpp
|
||||||
|
program_options/ParserTest.cpp
|
||||||
|
CliTest_ShowingHelp.cpp
|
||||||
|
EnvironmentTest.cpp
|
||||||
|
VersionCheckerTest.cpp
|
||||||
|
VersionCompareTest.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME} ${SOURCES})
|
||||||
|
target_link_libraries(${PROJECT_NAME} googletest cryfs-cli)
|
||||||
|
add_test(${PROJECT_NAME} ${PROJECT_NAME})
|
||||||
|
|
||||||
|
target_enable_style_warnings(${PROJECT_NAME})
|
||||||
|
target_activate_cpp14(${PROJECT_NAME})
|
@ -1,6 +1,6 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <cpp-utils/pointer/unique_ref.h>
|
#include <cpp-utils/pointer/unique_ref.h>
|
||||||
#include <cryfs/cli/CallAfterTimeout.h>
|
#include <cryfs-cli/CallAfterTimeout.h>
|
||||||
|
|
||||||
using cpputils::unique_ref;
|
using cpputils::unique_ref;
|
||||||
using cpputils::make_unique_ref;
|
using cpputils::make_unique_ref;
|
@ -1,5 +1,5 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <cryfs/cli/Environment.h>
|
#include <cryfs-cli/Environment.h>
|
||||||
#include <boost/optional.hpp>
|
#include <boost/optional.hpp>
|
||||||
|
|
||||||
using namespace cryfs;
|
using namespace cryfs;
|
@ -1,5 +1,5 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <cryfs/cli/VersionChecker.h>
|
#include <cryfs-cli/VersionChecker.h>
|
||||||
#include <cpp-utils/network/FakeHttpClient.h>
|
#include <cpp-utils/network/FakeHttpClient.h>
|
||||||
#include <cpp-utils/pointer/unique_ref.h>
|
#include <cpp-utils/pointer/unique_ref.h>
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <cryfs/cli/VersionCompare.h>
|
#include <cryfs-cli/VersionCompare.h>
|
||||||
|
|
||||||
using namespace cryfs;
|
using namespace cryfs;
|
||||||
using std::string;
|
using std::string;
|
@ -1,5 +1,5 @@
|
|||||||
#include "testutils/ProgramOptionsTestBase.h"
|
#include "testutils/ProgramOptionsTestBase.h"
|
||||||
#include <cryfs/cli/program_options/Parser.h>
|
#include <cryfs-cli/program_options/Parser.h>
|
||||||
#include <cryfs/config/CryCipher.h>
|
#include <cryfs/config/CryCipher.h>
|
||||||
|
|
||||||
using namespace cryfs;
|
using namespace cryfs;
|
@ -1,5 +1,5 @@
|
|||||||
#include "testutils/ProgramOptionsTestBase.h"
|
#include "testutils/ProgramOptionsTestBase.h"
|
||||||
#include <cryfs/cli/program_options/ProgramOptions.h>
|
#include <cryfs-cli/program_options/ProgramOptions.h>
|
||||||
#include <cpp-utils/pointer/unique_ref_boost_optional_gtest_workaround.h>
|
#include <cpp-utils/pointer/unique_ref_boost_optional_gtest_workaround.h>
|
||||||
|
|
||||||
using namespace cryfs::program_options;
|
using namespace cryfs::program_options;
|
@ -1,5 +1,5 @@
|
|||||||
#include "testutils/ProgramOptionsTestBase.h"
|
#include "testutils/ProgramOptionsTestBase.h"
|
||||||
#include <cryfs/cli/program_options/utils.h>
|
#include <cryfs-cli/program_options/utils.h>
|
||||||
|
|
||||||
using namespace cryfs::program_options;
|
using namespace cryfs::program_options;
|
||||||
using std::pair;
|
using std::pair;
|
@ -6,12 +6,12 @@
|
|||||||
#include <gmock/gmock.h>
|
#include <gmock/gmock.h>
|
||||||
#include <cpp-utils/tempfile/TempDir.h>
|
#include <cpp-utils/tempfile/TempDir.h>
|
||||||
#include <cpp-utils/tempfile/TempFile.h>
|
#include <cpp-utils/tempfile/TempFile.h>
|
||||||
#include <cryfs/cli/Cli.h>
|
#include <cryfs-cli/Cli.h>
|
||||||
#include <cryfs/cli/VersionChecker.h>
|
#include <cryfs-cli/VersionChecker.h>
|
||||||
#include <cpp-utils/logging/logging.h>
|
#include <cpp-utils/logging/logging.h>
|
||||||
#include <cpp-utils/process/subprocess.h>
|
#include <cpp-utils/process/subprocess.h>
|
||||||
#include <cpp-utils/network/FakeHttpClient.h>
|
#include <cpp-utils/network/FakeHttpClient.h>
|
||||||
#include "../../testutils/MockConsole.h"
|
#include "../../cryfs/testutils/MockConsole.h"
|
||||||
|
|
||||||
class CliTest : public ::testing::Test {
|
class CliTest : public ::testing::Test {
|
||||||
public:
|
public:
|
@ -1,17 +1,6 @@
|
|||||||
project (cryfs-test)
|
project (cryfs-test)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
cli/CallAfterTimeoutTest.cpp
|
|
||||||
cli/testutils/CliTest.cpp
|
|
||||||
cli/CliTest_Setup.cpp
|
|
||||||
cli/CliTest_WrongEnvironment.cpp
|
|
||||||
cli/program_options/UtilsTest.cpp
|
|
||||||
cli/program_options/ProgramOptionsTest.cpp
|
|
||||||
cli/program_options/ParserTest.cpp
|
|
||||||
cli/CliTest_ShowingHelp.cpp
|
|
||||||
cli/EnvironmentTest.cpp
|
|
||||||
cli/VersionCheckerTest.cpp
|
|
||||||
cli/VersionCompareTest.cpp
|
|
||||||
config/crypto/CryConfigEncryptorFactoryTest.cpp
|
config/crypto/CryConfigEncryptorFactoryTest.cpp
|
||||||
config/crypto/outer/OuterConfigTest.cpp
|
config/crypto/outer/OuterConfigTest.cpp
|
||||||
config/crypto/outer/OuterEncryptorTest.cpp
|
config/crypto/outer/OuterEncryptorTest.cpp
|
||||||
@ -30,7 +19,7 @@ set(SOURCES
|
|||||||
)
|
)
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} ${SOURCES})
|
add_executable(${PROJECT_NAME} ${SOURCES})
|
||||||
target_link_libraries(${PROJECT_NAME} googletest cryfs_lib)
|
target_link_libraries(${PROJECT_NAME} googletest cryfs)
|
||||||
add_test(${PROJECT_NAME} ${PROJECT_NAME})
|
add_test(${PROJECT_NAME} ${PROJECT_NAME})
|
||||||
|
|
||||||
target_enable_style_warnings(${PROJECT_NAME})
|
target_enable_style_warnings(${PROJECT_NAME})
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
#include <cryfs/config/CryConfigFile.h>
|
#include <cryfs/config/CryConfigFile.h>
|
||||||
#include <cpp-utils/tempfile/TempFile.h>
|
#include <cpp-utils/tempfile/TempFile.h>
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
#include <cryfs/config/CryConfig.h>
|
#include <cryfs/config/CryConfig.h>
|
||||||
|
|
||||||
using namespace cryfs;
|
using namespace cryfs;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user