From 1b7ea707ae7fc7b3b4aa9d9f455296cb43727ed0 Mon Sep 17 00:00:00 2001 From: Bechir Braham Date: Tue, 5 Mar 2024 15:40:04 +0100 Subject: [PATCH] saving work: failed attempt at sublibraries --- CMakeLists.txt | 31 +++++++++++++++++-------------- examples/CMakeLists.txt | 7 +++++++ {src => examples}/main.cpp | 0 src/CMakeLists.txt | 3 --- src/common/CMakeLists.txt | 6 ++++-- src/common/defs.cpp | 4 +++- src/core/CMakeLists.txt | 13 +++++++++++-- src/core/Frame.hpp | 2 +- src/file_io/CMakeLists.txt | 13 +++++++++---- src/file_io/file/File.hpp | 2 +- src/main.hpp | 0 11 files changed, 53 insertions(+), 28 deletions(-) create mode 100644 examples/CMakeLists.txt rename {src => examples}/main.cpp (100%) delete mode 100644 src/main.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index f3c82b3..2954821 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,8 @@ project(aare ) cmake_policy(SET CMP0135 NEW) +cmake_policy(SET CMP0079 NEW) + include(GNUInstallDirs) @@ -71,21 +73,22 @@ set(SUPPRESSED_WARNINGS "-Wno-return-type") set(CMAKE_CXX_FLAGS "${OPTIONAL_FLAGS} ${OPTIMIZATION_FLAGS} ${SUPPRESSED_WARNINGS}") - -add_executable(aare) - -target_link_libraries( aare -PRIVATE - nlohmann_json::nlohmann_json -PUBLIC - fmt::fmt -) - - - - - add_subdirectory(src) + + +add_library(aare INTERFACE) + +# target_link_libraries( aare +# PRIVATE +# nlohmann_json::nlohmann_json +# PUBLIC +# fmt::fmt +# ) + +target_link_libraries(aare INTERFACE common core file_io) + + +add_subdirectory(examples) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..6088677 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,7 @@ +add_executable(example "${CMAKE_CURRENT_SOURCE_DIR}/main.cpp") + +target_include_directories(example PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") + +target_link_libraries(example PUBLIC aare) + + diff --git a/src/main.cpp b/examples/main.cpp similarity index 100% rename from src/main.cpp rename to examples/main.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bf41f40..99386b5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,3 @@ add_subdirectory(file_io) add_subdirectory(core) add_subdirectory(processing) add_subdirectory(common) - -target_include_directories(aare PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_sources(aare PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 84fba25..26ead4c 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -1,5 +1,7 @@ -target_include_directories(aare PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +add_library(common "${CMAKE_CURRENT_SOURCE_DIR}/defs.cpp") -target_sources(aare PRIVATE "${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 08e9f70..2efc8cf 100644 --- a/src/common/defs.cpp +++ b/src/common/defs.cpp @@ -40,4 +40,6 @@ template <> TimingMode StringTo(std::string mode){ auto msg = fmt::format("Could not decode timing mode from: \"{}\"", mode); throw std::runtime_error(msg); } -} \ No newline at end of file +} + +// template <> TimingMode StringTo(std::string mode); \ No newline at end of file diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 8237329..6548497 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1,3 +1,12 @@ -target_include_directories(aare PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +# target_include_directories(aare PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +# target_sources(aare PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Frame.cpp") + + +add_library(core "${CMAKE_CURRENT_SOURCE_DIR}/Frame.cpp") + +target_include_directories(core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") + +target_link_libraries(core PUBLIC common) + -target_sources(aare PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Frame.cpp") \ No newline at end of file diff --git a/src/core/Frame.hpp b/src/core/Frame.hpp index 1aeef3e..902806d 100644 --- a/src/core/Frame.hpp +++ b/src/core/Frame.hpp @@ -4,7 +4,7 @@ #include #include #include -#include "defs.hpp" +#include "common/defs.hpp" diff --git a/src/file_io/CMakeLists.txt b/src/file_io/CMakeLists.txt index f990c9b..4d91d96 100644 --- a/src/file_io/CMakeLists.txt +++ b/src/file_io/CMakeLists.txt @@ -1,6 +1,3 @@ -target_include_directories(aare PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/file") -target_include_directories(aare PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/file_factory") -target_include_directories(aare PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") set(FILE_IO_SOURCES "file/File.cpp" "file/JsonFile.cpp" @@ -15,4 +12,12 @@ foreach(FILE_IO_SOURCE ${FILE_IO_SOURCES}) list(APPEND FILE_IO_SOURCES_WITH_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${FILE_IO_SOURCE}") endforeach() -target_sources(aare PRIVATE ${FILE_IO_SOURCES_WITH_PATH}) \ No newline at end of file +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.hpp b/src/file_io/file/File.hpp index 42cd5d2..89330c3 100644 --- a/src/file_io/file/File.hpp +++ b/src/file_io/file/File.hpp @@ -1,8 +1,8 @@ #pragma once +#include "defs.hpp" #include "Frame.hpp" #include "SubFile.hpp" -#include "defs.hpp" #include #include #include diff --git a/src/main.hpp b/src/main.hpp deleted file mode 100644 index e69de29..0000000