diff --git a/CMakeLists.txt b/CMakeLists.txt index 7eef4529..c41adcdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,8 +8,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) find_package(PkgConfig) pkg_check_modules(IMAGEMAGICKXX REQUIRED ImageMagick++) +enable_testing() -SUBDIRS(src) +add_subdirectory(src) install(DIRECTORY approot DESTINATION share/lms) install(DIRECTORY docroot DESTINATION share/lms) diff --git a/src/libs/CMakeLists.txt b/src/libs/CMakeLists.txt index 97b099a9..2619ec6e 100644 --- a/src/libs/CMakeLists.txt +++ b/src/libs/CMakeLists.txt @@ -5,6 +5,7 @@ add_subdirectory(cover) add_subdirectory(database) add_subdirectory(recommendation) add_subdirectory(scanner) +add_subdirectory(som) add_subdirectory(subsonic) add_subdirectory(utils) diff --git a/src/libs/database/CMakeLists.txt b/src/libs/database/CMakeLists.txt index 638fb2e2..aae05b4f 100644 --- a/src/libs/database/CMakeLists.txt +++ b/src/libs/database/CMakeLists.txt @@ -35,3 +35,4 @@ target_link_libraries(lmsdatabase PUBLIC install(TARGETS lmsdatabase DESTINATION lib) +add_subdirectory(test) diff --git a/src/libs/database/test/CMakeLists.txt b/src/libs/database/test/CMakeLists.txt new file mode 100644 index 00000000..ac42aa6b --- /dev/null +++ b/src/libs/database/test/CMakeLists.txt @@ -0,0 +1,11 @@ + +add_executable(test-database + DatabaseTest.cpp + ) + +target_link_libraries(test-database PRIVATE + lmsdatabase + ) + +add_test(NAME database COMMAND test-database) + diff --git a/test/database/DatabaseTest.cpp b/src/libs/database/test/DatabaseTest.cpp similarity index 100% rename from test/database/DatabaseTest.cpp rename to src/libs/database/test/DatabaseTest.cpp diff --git a/src/libs/recommendation/CMakeLists.txt b/src/libs/recommendation/CMakeLists.txt index c83ee6aa..cdcf20bd 100644 --- a/src/libs/recommendation/CMakeLists.txt +++ b/src/libs/recommendation/CMakeLists.txt @@ -2,8 +2,6 @@ add_library(lmsrecommendation SHARED impl/Engine.cpp impl/ProviderCreator.cpp - impl/features/som/DataNormalizer.cpp - impl/features/som/Network.cpp ) target_include_directories(lmsrecommendation INTERFACE @@ -16,9 +14,7 @@ target_include_directories(lmsrecommendation PRIVATE target_link_libraries(lmsrecommendation PRIVATE lmsdatabase - ) - -target_link_libraries(lmsrecommendation PUBLIC + lmssom ) install(TARGETS lmsrecommendation DESTINATION lib) diff --git a/src/libs/som/CMakeLists.txt b/src/libs/som/CMakeLists.txt new file mode 100644 index 00000000..2d7ca9ef --- /dev/null +++ b/src/libs/som/CMakeLists.txt @@ -0,0 +1,19 @@ + +add_library(lmssom STATIC + impl/DataNormalizer.cpp + impl/Network.cpp + ) + +target_include_directories(lmssom INTERFACE + include + ) + +target_include_directories(lmssom PRIVATE + include + ) + +target_link_libraries(lmssom PUBLIC + lmsutils + ) + +add_subdirectory(test) diff --git a/src/libs/recommendation/impl/features/som/DataNormalizer.cpp b/src/libs/som/impl/DataNormalizer.cpp similarity index 98% rename from src/libs/recommendation/impl/features/som/DataNormalizer.cpp rename to src/libs/som/impl/DataNormalizer.cpp index d6498fcf..a4c39351 100644 --- a/src/libs/recommendation/impl/features/som/DataNormalizer.cpp +++ b/src/libs/som/impl/DataNormalizer.cpp @@ -17,7 +17,7 @@ * along with LMS. If not, see . */ -#include "DataNormalizer.hpp" +#include "som/DataNormalizer.hpp" #include #include diff --git a/src/libs/recommendation/impl/features/som/Network.cpp b/src/libs/som/impl/Network.cpp similarity index 99% rename from src/libs/recommendation/impl/features/som/Network.cpp rename to src/libs/som/impl/Network.cpp index 0431c966..deea6f7b 100644 --- a/src/libs/recommendation/impl/features/som/Network.cpp +++ b/src/libs/som/impl/Network.cpp @@ -17,7 +17,7 @@ * along with LMS. If not, see . */ -#include "Network.hpp" +#include "som/Network.hpp" #include #include diff --git a/src/libs/recommendation/impl/features/som/DataNormalizer.hpp b/src/libs/som/include/som/DataNormalizer.hpp similarity index 100% rename from src/libs/recommendation/impl/features/som/DataNormalizer.hpp rename to src/libs/som/include/som/DataNormalizer.hpp diff --git a/src/libs/recommendation/impl/features/som/InputVector.hpp b/src/libs/som/include/som/InputVector.hpp similarity index 99% rename from src/libs/recommendation/impl/features/som/InputVector.hpp rename to src/libs/som/include/som/InputVector.hpp index 68d5834e..058e0fee 100644 --- a/src/libs/recommendation/impl/features/som/InputVector.hpp +++ b/src/libs/som/include/som/InputVector.hpp @@ -23,6 +23,8 @@ #include #include +#include "utils/Exception.hpp" + namespace SOM { diff --git a/src/libs/recommendation/impl/features/som/Matrix.hpp b/src/libs/som/include/som/Matrix.hpp similarity index 100% rename from src/libs/recommendation/impl/features/som/Matrix.hpp rename to src/libs/som/include/som/Matrix.hpp diff --git a/src/libs/recommendation/impl/features/som/Network.hpp b/src/libs/som/include/som/Network.hpp similarity index 99% rename from src/libs/recommendation/impl/features/som/Network.hpp rename to src/libs/som/include/som/Network.hpp index cf64a83c..cf04cf72 100644 --- a/src/libs/recommendation/impl/features/som/Network.hpp +++ b/src/libs/som/include/som/Network.hpp @@ -25,7 +25,6 @@ #include #include -#include "utils/Exception.hpp" #include "InputVector.hpp" #include "Matrix.hpp" diff --git a/src/libs/som/test/CMakeLists.txt b/src/libs/som/test/CMakeLists.txt new file mode 100644 index 00000000..aaaf43d4 --- /dev/null +++ b/src/libs/som/test/CMakeLists.txt @@ -0,0 +1,11 @@ + +add_executable(test-som + SomTest.cpp + ) + +target_link_libraries(test-som PRIVATE + lmssom + ) + +add_test(NAME som COMMAND test-som) + diff --git a/test/som/SomTest.cpp b/src/libs/som/test/SomTest.cpp similarity index 98% rename from test/som/SomTest.cpp rename to src/libs/som/test/SomTest.cpp index 70aad7a1..6f4edb37 100644 --- a/test/som/SomTest.cpp +++ b/src/libs/som/test/SomTest.cpp @@ -21,8 +21,8 @@ #include #include -#include "DataNormalizer.hpp" -#include "Network.hpp" +#include "som/DataNormalizer.hpp" +#include "som/Network.hpp" using namespace SOM; diff --git a/src/libs/utils/CMakeLists.txt b/src/libs/utils/CMakeLists.txt index ba5c5f01..c468be2f 100644 --- a/src/libs/utils/CMakeLists.txt +++ b/src/libs/utils/CMakeLists.txt @@ -24,7 +24,9 @@ target_link_libraries(lmsutils PRIVATE ) target_link_libraries(lmsutils PUBLIC + boost_system stdc++fs + wt ) install(TARGETS lmsutils DESTINATION lib)