From 22fb8763becf9ec9c16e5e23f4e83435f018e5b2 Mon Sep 17 00:00:00 2001 From: Bechir Date: Wed, 6 Mar 2024 21:08:52 +0100 Subject: [PATCH] better file structure for better separation --- CMakeLists.txt | 2 +- examples/main.cpp | 6 ++---- {src => include}/common/defs.hpp | 0 {src => include}/core/Frame.hpp | 0 {src/file_io/file => include/file_io}/File.hpp | 4 ++-- .../file_factory => include/file_io}/FileFactory.hpp | 2 +- {src/file_io/file => include/file_io}/FileHandler.hpp | 4 ++-- {src/file_io/file => include/file_io}/JsonFile.hpp | 6 +++--- .../file_io}/JsonFileFactory.hpp | 2 +- .../file_io}/RawFileFactory.hpp | 2 +- {src/file_io/file => include/file_io}/SubFile.hpp | 2 +- {src => include}/file_io/helpers.hpp | 2 +- src/common/CMakeLists.txt | 2 -- src/common/defs.cpp | 2 +- src/core/CMakeLists.txt | 2 -- src/core/Frame.cpp | 2 +- src/file_io/CMakeLists.txt | 7 ------- src/file_io/file/File.cpp | 2 +- src/file_io/file/JsonFile.cpp | 2 +- src/file_io/file/SubFile.cpp | 2 +- src/file_io/file_factory/FileFactory.cpp | 7 +++---- src/file_io/file_factory/JsonFileFactory.cpp | 10 +++++----- src/file_io/file_factory/RawFileFactory.cpp | 0 src/file_io/helpers.cpp | 2 +- 24 files changed, 29 insertions(+), 43 deletions(-) rename {src => include}/common/defs.hpp (100%) rename {src => include}/core/Frame.hpp (100%) rename {src/file_io/file => include/file_io}/File.hpp (97%) rename {src/file_io/file_factory => include/file_io}/FileFactory.hpp (96%) rename {src/file_io/file => include/file_io}/FileHandler.hpp (90%) rename {src/file_io/file => include/file_io}/JsonFile.hpp (67%) rename {src/file_io/file_factory => include/file_io}/JsonFileFactory.hpp (91%) rename {src/file_io/file_factory => include/file_io}/RawFileFactory.hpp (89%) rename {src/file_io/file => include/file_io}/SubFile.hpp (97%) rename {src => include}/file_io/helpers.hpp (79%) delete mode 100644 src/file_io/file_factory/RawFileFactory.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 2954821..1632e8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,7 +72,7 @@ set(SUPPRESSED_WARNINGS "-Wno-return-type") set(CMAKE_CXX_FLAGS "${OPTIONAL_FLAGS} ${OPTIMIZATION_FLAGS} ${SUPPRESSED_WARNINGS}") - +include_directories(include) add_subdirectory(src) diff --git a/examples/main.cpp b/examples/main.cpp index 7ca38f8..693cabe 100644 --- a/examples/main.cpp +++ b/examples/main.cpp @@ -1,6 +1,6 @@ // Your First C++ Program #include -#include +#include "file_io/FileHandler.hpp" using JFileHandler = FileHandler; using JFile = File; @@ -19,9 +19,7 @@ void test(JFileHandler* f,int frame_number){ } int main() { - std::filesystem::path fpath("/home/l_bechir/github/aare/data/jungfrau_single_master_0.json"); + std::filesystem::path fpath("/home/bb/github/aare/data/jungfrau_single_master_0.json"); auto fileHandler = new JFileHandler (fpath); - delete fileHandler; - } diff --git a/src/common/defs.hpp b/include/common/defs.hpp similarity index 100% rename from src/common/defs.hpp rename to include/common/defs.hpp diff --git a/src/core/Frame.hpp b/include/core/Frame.hpp similarity index 100% rename from src/core/Frame.hpp rename to include/core/Frame.hpp diff --git a/src/file_io/file/File.hpp b/include/file_io/File.hpp similarity index 97% rename from src/file_io/file/File.hpp rename to include/file_io/File.hpp index 89330c3..01239a5 100644 --- a/src/file_io/file/File.hpp +++ b/include/file_io/File.hpp @@ -1,7 +1,7 @@ #pragma once -#include "defs.hpp" -#include "Frame.hpp" +#include "common/defs.hpp" +#include "core/Frame.hpp" #include "SubFile.hpp" #include #include diff --git a/src/file_io/file_factory/FileFactory.hpp b/include/file_io/FileFactory.hpp similarity index 96% rename from src/file_io/file_factory/FileFactory.hpp rename to include/file_io/FileFactory.hpp index 0826c2a..1b89f3c 100644 --- a/src/file_io/file_factory/FileFactory.hpp +++ b/include/file_io/FileFactory.hpp @@ -1,6 +1,6 @@ #pragma once #include -#include "File.hpp" +#include "file_io/File.hpp" template class FileFactory{ // Class that will be used to create File objects diff --git a/src/file_io/file/FileHandler.hpp b/include/file_io/FileHandler.hpp similarity index 90% rename from src/file_io/file/FileHandler.hpp rename to include/file_io/FileHandler.hpp index 43be842..afe459d 100644 --- a/src/file_io/file/FileHandler.hpp +++ b/include/file_io/FileHandler.hpp @@ -1,6 +1,6 @@ #include -#include "FileFactory.hpp" -#include "File.hpp" +#include "file_io/FileFactory.hpp" +#include "file_io/File.hpp" template class FileHandler{ private: diff --git a/src/file_io/file/JsonFile.hpp b/include/file_io/JsonFile.hpp similarity index 67% rename from src/file_io/file/JsonFile.hpp rename to include/file_io/JsonFile.hpp index a5285c4..d3ae890 100644 --- a/src/file_io/file/JsonFile.hpp +++ b/include/file_io/JsonFile.hpp @@ -1,7 +1,7 @@ #pragma once -#include "File.hpp" -#include "Frame.hpp" -#include "defs.hpp" +#include "file_io/File.hpp" +#include "core/Frame.hpp" +#include "common/defs.hpp" template class JsonFile : public File { diff --git a/src/file_io/file_factory/JsonFileFactory.hpp b/include/file_io/JsonFileFactory.hpp similarity index 91% rename from src/file_io/file_factory/JsonFileFactory.hpp rename to include/file_io/JsonFileFactory.hpp index b178a80..347baf4 100644 --- a/src/file_io/file_factory/JsonFileFactory.hpp +++ b/include/file_io/JsonFileFactory.hpp @@ -1,4 +1,4 @@ -#include "FileFactory.hpp" +#include "file_io/FileFactory.hpp" template class JsonFileFactory: public FileFactory { diff --git a/src/file_io/file_factory/RawFileFactory.hpp b/include/file_io/RawFileFactory.hpp similarity index 89% rename from src/file_io/file_factory/RawFileFactory.hpp rename to include/file_io/RawFileFactory.hpp index 89ee537..15877cc 100644 --- a/src/file_io/file_factory/RawFileFactory.hpp +++ b/include/file_io/RawFileFactory.hpp @@ -1,4 +1,4 @@ -#include "File.hpp" +#include "file_io/File.hpp" #include template class RawFileFactory{ diff --git a/src/file_io/file/SubFile.hpp b/include/file_io/SubFile.hpp similarity index 97% rename from src/file_io/file/SubFile.hpp rename to include/file_io/SubFile.hpp index 08339d1..fd9b87c 100644 --- a/src/file_io/file/SubFile.hpp +++ b/include/file_io/SubFile.hpp @@ -1,5 +1,5 @@ #pragma once -#include "defs.hpp" +#include "common/defs.hpp" #include #include #include diff --git a/src/file_io/helpers.hpp b/include/file_io/helpers.hpp similarity index 79% rename from src/file_io/helpers.hpp rename to include/file_io/helpers.hpp index 0dd86fa..199e6ac 100644 --- a/src/file_io/helpers.hpp +++ b/include/file_io/helpers.hpp @@ -1,6 +1,6 @@ #pragma once -#include "File.hpp" +#include "file_io/File.hpp" #include #include diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 26ead4c..22e2bf6 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -1,7 +1,5 @@ add_library(common "${CMAKE_CURRENT_SOURCE_DIR}/defs.cpp") -target_include_directories(common PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") - target_link_libraries(common PUBLIC fmt::fmt) diff --git a/src/common/defs.cpp b/src/common/defs.cpp index 2efc8cf..a6ba458 100644 --- a/src/common/defs.cpp +++ b/src/common/defs.cpp @@ -1,4 +1,4 @@ -#include "defs.hpp" +#include "common/defs.hpp" template <> std::string toString(DetectorType type) { switch (type) { diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 6548497..7c3061e 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -5,8 +5,6 @@ add_library(core "${CMAKE_CURRENT_SOURCE_DIR}/Frame.cpp") -target_include_directories(core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") - target_link_libraries(core PUBLIC common) diff --git a/src/core/Frame.cpp b/src/core/Frame.cpp index d2ca577..9af474d 100644 --- a/src/core/Frame.cpp +++ b/src/core/Frame.cpp @@ -1,4 +1,4 @@ -#include "Frame.hpp" +#include "core/Frame.hpp" #include template diff --git a/src/file_io/CMakeLists.txt b/src/file_io/CMakeLists.txt index 4d91d96..72e5adc 100644 --- a/src/file_io/CMakeLists.txt +++ b/src/file_io/CMakeLists.txt @@ -4,7 +4,6 @@ set(FILE_IO_SOURCES "file/File.cpp" "file/SubFile.cpp" "file_factory/FileFactory.cpp" "file_factory/JsonFileFactory.cpp" - "file_factory/RawFileFactory.cpp" "helpers.cpp" ) # append ${CMAKE_CURRENT_SOURCE_DIR} to the list of sources using for loop @@ -14,10 +13,4 @@ endforeach() add_library(file_io ${FILE_IO_SOURCES_WITH_PATH}) - -target_include_directories(file_io PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/file") -target_include_directories(file_io PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/file_factory") -target_include_directories(file_io PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") - - target_link_libraries(file_io common fmt::fmt core nlohmann_json::nlohmann_json) \ No newline at end of file diff --git a/src/file_io/file/File.cpp b/src/file_io/file/File.cpp index 3bcbba0..9ee20c3 100644 --- a/src/file_io/file/File.cpp +++ b/src/file_io/file/File.cpp @@ -1,4 +1,4 @@ -#include "File.hpp" +#include "file_io/File.hpp" template File::~File() { for (auto& subfile : subfiles) { diff --git a/src/file_io/file/JsonFile.cpp b/src/file_io/file/JsonFile.cpp index 64602b2..b203387 100644 --- a/src/file_io/file/JsonFile.cpp +++ b/src/file_io/file/JsonFile.cpp @@ -1,4 +1,4 @@ -#include "JsonFile.hpp" +#include "file_io/JsonFile.hpp" #include template diff --git a/src/file_io/file/SubFile.cpp b/src/file_io/file/SubFile.cpp index b957484..08875dc 100644 --- a/src/file_io/file/SubFile.cpp +++ b/src/file_io/file/SubFile.cpp @@ -1,4 +1,4 @@ -#include "SubFile.hpp" +#include "file_io/SubFile.hpp" #include // #include diff --git a/src/file_io/file_factory/FileFactory.cpp b/src/file_io/file_factory/FileFactory.cpp index 51018ab..5a5d465 100644 --- a/src/file_io/file_factory/FileFactory.cpp +++ b/src/file_io/file_factory/FileFactory.cpp @@ -1,7 +1,6 @@ -#include "FileFactory.hpp" -#include "File.hpp" -#include "JsonFileFactory.hpp" -#include "RawFileFactory.hpp" +#include "file_io/FileFactory.hpp" +#include "file_io/File.hpp" +#include "file_io/JsonFileFactory.hpp" #include template diff --git a/src/file_io/file_factory/JsonFileFactory.cpp b/src/file_io/file_factory/JsonFileFactory.cpp index ce4a1b7..843dcf9 100644 --- a/src/file_io/file_factory/JsonFileFactory.cpp +++ b/src/file_io/file_factory/JsonFileFactory.cpp @@ -1,8 +1,8 @@ -#include "JsonFileFactory.hpp" -#include "JsonFile.hpp" -#include "SubFile.hpp" -#include "defs.hpp" -#include "helpers.hpp" +#include "file_io/JsonFileFactory.hpp" +#include "file_io/JsonFile.hpp" +#include "file_io/SubFile.hpp" +#include "common/defs.hpp" +#include "file_io/helpers.hpp" #include #include #include diff --git a/src/file_io/file_factory/RawFileFactory.cpp b/src/file_io/file_factory/RawFileFactory.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/src/file_io/helpers.cpp b/src/file_io/helpers.cpp index 6b58ea3..d16f8be 100644 --- a/src/file_io/helpers.cpp +++ b/src/file_io/helpers.cpp @@ -1,4 +1,4 @@ -#include "helpers.hpp" +#include "file_io/helpers.hpp" bool is_master_file(std::filesystem::path fpath) {